Открыть список
Как стать автором
Обновить
1
Карма
0
Рейтинг

Пользователь

Pulsar vs Kafka: сравнение и мифы

На конференциях по Kafka очень любят упоминать кейс Нью-Йорк Таймс, но не упоминают что у них всего ~100 GB данных.

ARM и программирование без блокировок

Ключевое в этой фразе
the same atomic variable
.
Т.е. упорядочиваются все операции чтения/записи в конкретную атомик переменную.
На уровне x86 CPU — это означает синхронизацию(очистка store-buffer) конкретной кеш линии с переменной, а не вообще всей памяти.

ARM и программирование без блокировок

Если барьеры на кеши других ядер не влияют, тогда в чем их смысл на ARM, что они делают? Ведь ядро которое производило запись и так видит все свои локальные изменения.

ARM и программирование без блокировок

Это не соотвествует действительности. Так было бы если использовался std::atomic_thread_fence. В данном случае атомарный доступ к флагу никак не влияет на видимость полей g_data1, g_data2, g_data3. Более того, даже компилятор может вызовы местами переставить.

Зачем нужно понимать ООП

но в нашей модели их нет, и «нет» значит быть не может

Сегодня нет, завтра есть. Про то и речь, что предложенная модель плохо подходит для расширения функуционала.

Зачем нужно понимать ООП

И тут выясняется, что у людей они таки есть и что возможно кроме oPet, могут быть другие наследники oAnimal (oWild) у которых тоже могут быть блохи.

Кроме того выяснять наличие блох с помощью instanceof — это прямое нарушение LSP.

Если моделирование бизнес области требует, можно заменить блох на котейнер «Паразиты», где блохи один из возможных вариантов.

Зачем нужно понимать ООП

В принципе могут . А как имея базовый класс oAnimal выяснить этот же факт? В простом дизайне по дефолту fleas = 0 и это уже зависит от контекста каким образом это значение может/не может измениться.

Зачем нужно понимать ООП

Забавно, но на картинке где «ООП, которое пользователи заявляют» идеальный пример как не стоит моделировать. Вместо иерархии классов достаточно иметь один класс где ноги, тип животное/человек, блохи — это всего лишь аттрибуты.

Почему Kafka такая быстрая

1) не надо быть зарегистрированным что-бы пользоваться сайтом.

readonly пользователи врядли создают нагрузку для которой нужна кафка. Если же создает, то интересно почему и архитектурные детали.

2) сколько по вашему занимает базовый эвент взаимодействия с сайтом?

Поскольку профили меняются редко, основное это отсылка сообщений размером 500-2000 байт.

Почему Kafka такая быстрая

Даже если каждый зарегестрированный пользователь зайдет на сайт в одно и тоже время он должен делать приблизительно 1 клик в секунду. Есть большие сомнения, что online хотя 10% их пользователей.

Почему Kafka такая быстрая

Интересно, зачем Linkedin было необходимо ворачать несколько террабайт сообщений в час? Это ведь не видеохостинг, а текстовыми сообщениями добиться таких обьемов не реально.

Protobuf vs Avro. Как сделать выбор?

Никто не мешает, если эти типы подходят. Но в целом из-за принципиального отсуствия компресии SBE размер буждет больше.
А что такое int4?

Protobuf vs Avro. Как сделать выбор?

protobuf wire формат поддерживает опциональные поля и в proto v2 — это во всю использовалось. Из версии 3 — это поддержку убрали зачем-то из описания формата. Но поскольку wire формат не изменился, теоретически, можно попрежнему проверять было ли поле установленно или нет.

Protobuf vs Avro. Как сделать выбор?

SBE не использует компрессию для чисел и int32 всегда занимает 4 байта, кроме того нет опциональных полей (кроме определенных случаев), поэтому SBE по факту всегда будет больше.
SBE — это про скорость и пропускную способность, а не про размер и удобство. SBE один из самых быстрых из существующих сериализаторов/десириализаторов с пропускной способностью близкий к пропускной способности шины памяти. Основной сценарий его использования — реалтайм котировки, а не API общего назначения.

Я бы отметил кодек Cap'n Proto от автора Protobuf. Он достаточно быстрый, без лишних копирований, с гибкой схемой версионирования.

Архитектура транзакций в Apache Ignite

А что будет в сценарии «Падение primary-узла на finish-фазе» при проблемах с сетью, когда первый primary и его бекапы не упали, а остались в отдельной подсети и не могут коммуницировать ни с координатором, ни с другим primary?

Линукс-порт Far Manager: прогресс за 4 года

Спасибо авторам! Уже два года пользуюсь. mc даже радом не стоял по удобству. Единственное пожелание — это прикрутить поддержку Windows Terminal. Сейчас активно использую WSL2 и проблема с доступом к буферу обмена удручает. Пропатченный putty отчасти решает проблему. Но хотелось бы имеено Windows Terminal.

Двоичное‌ ‌кодирование‌ ‌вместо‌ ‌JSON

Есть куча сверхбыстрых бинарных кодеков: Cap'n Proto, SBE.

ООП: Кто взял Измаил? Вопрос принадлежности методов объекту

Игрок_1.Оружие[Игрок_1.Номер_выбранного_оружия].Выстрел(Монстр_1)

Итак, мы видим, что благодаря ООП, мы можем легко добавить новое оружие: достаточно описать его как дочерний класс от TWeapon, определить Выстрел и разместить на карте. Класс Игрок уже умеет подбирать и добавлять в свой игровой набор объекты TWeapon. Всё


Разрабочики игр заплачут в этом месте.

ООП: Кто взял Измаил? Вопрос принадлежности методов объекту

С ООП проблем нет. Есть проблема в кривых абстракциях. Создаем класс Shape который будет описывать как квадрат, так и прямоугольник.

5 способов провалить внедрение DDD

При упоминании DDD все ссылаются на книгу Эванса. А кто он такой этот Эванс? Что он создал реального, кроме книги и хайпа вокруг нее?

Информация

В рейтинге
6,085-й
Зарегистрирован
Активность