awesome-everything EN
↑ Обратно к восхождению

Очереди, потоки, события

Порядок сообщений: тест с выбором ответа

Суть Тест с выбором на синтез по всему юниту — цена total order по пропускной способности, per-partition FIFO, выбор ordering key, переупорядочивание на продюсере и где порядок тихо ломается в проде.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 12 min

Шесть вопросов поперёк всего юнита. Каждый отражает решение, которое ты принимаешь в реальном инциденте — не определение для заучивания, а компромисс, который надо взвесить, когда порядок и пропускная способность тянут в разные стороны.

Цель

Убедись, что связываешь цену total order, per-partition FIFO, выбор ordering key, гарантии продюсера и production-сбои — тот синтез, к которому вёл урок.

Викторина

Почему глобальный total order по всем сообщениям — это фундаментально налог на пропускную способность, а не флаг конфига, который можно просто включить?

Викторина

Сервис кошелька шлёт credit, затем debit на аккаунт. В staging с одним consumer'ом работало; в проде с восемью consumer'ами debit иногда приходит первым. Что на самом деле изменилось?

Викторина

Нужен порядок по аккаунту при высокой пропускной способности в Kafka. Какой выбор ordering key верный и почему?

Викторина

Какая конфигурация продюсера Kafka может тихо переупорядочить два сообщения на одной partition?

Викторина

Команда растит топик Kafka с 6 до 12 partition ради пропускной способности и сразу видит порчу порядка по ключу. Почему и как это штатно избегают?

Викторина

Сервис профилей потребляет user.updated на at-least-once очереди с конкурентными consumer'ами; обновления одного пользователя иногда приходят не по порядку или дважды. Какой самый сильный дизайн?

Итог

Сквозная линия — одно дерево решений: total order требует единой точки сериализации и упирает пропускную способность, поэтому почти всегда нужен partial order — per-key FIFO. Выбирай partition key как сущность, которая должна оставаться консистентной (accountId, userId). Дальше порядок ломается в трёх предсказуемых местах: неидемпотентный продюсер с несколькими in-flight, репартиционирование, переотображающее ключи, и at-least-once redelivery или DLQ replay. Устойчивый дизайн партиционирует по ключу и version-guard’ит остаточный беспорядок.

Продолжить восхождение ↑Порядок сообщений: тест на свободное воспроизведение
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.