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

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

Partition в Kafka: тест с множественным выбором

Суть Синтез с множественным выбором по всему юниту про partition в Kafka — хеширование key, назначение в consumer group, односторонняя дверь количества partition, skew и rebalance.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 13 min

Шесть вопросов, проходящих через весь юнит. Каждый отражает решение, которое вы принимаете на реальном design-review по Kafka, — не определение для пересказа, а компромисс, который нужно взвесить, прежде чем трогать конфиг топика.

Цель

Убедитесь, что вы связываете воедино хеширование key, назначение в consumer group, одностороннюю дверь количества partition, hot-partition skew и rebalance — синтез, к которому вёл урок.

Викторина

У топика 8 partition, а в consumer group 12 участников, но lag продолжает расти. В чём настоящее ограничение и что его действительно устраняет?

Викторина

Топик order-events keyed по orderId на 6 partition и отстаёт на пике. Порядок внутри заказа должен сохраняться. Кто-то предлагает увеличить до 12 partition прямо на живом топике. Почему это ловушка и каков senior-ход?

Викторина

Один consumer в здоровой группе упёрт в 100% CPU и отстаёт, пока пять остальных простаивают. Количество partition и consumer сбалансировано. Что происходит и где исправление?

Викторина

При обычном rolling-деплое потребление по всей группе останавливается на несколько секунд каждый раз, когда перезапускается под, хотя заменяется только один consumer за раз. В чём причина и что её уменьшает?

Викторина

Команда планирует топик и спрашивает, выделить ли 8 partition под текущую нагрузку или 64 про запас. Какова правильная рамка рассуждения?

Викторина

Producer отправляет записи без key в топик с 6 partition, а нижестоящий consumer полагается на обработку событий одной сущности по порядку. Почему этот дизайн ломается и как исправить?

Итог

Сквозная линия — один механизм в трёх ролях: hash(key) % N делает распределение, порядок по key и co-location одновременно. Из него следует всё — порядок держится только внутри partition, параллелизм consumer жёстко ограничен количеством partition, а смена N перехеширует key и ломает порядок по key, поэтому количество — это односторонняя дверь, под которую закладывают запас заранее, а не настраивают. Два продакшен-сбоя, hot-partition skew (исправляется на уровне key) и stop-the-world rebalance (укрощаются cooperative rebalancing и static membership), сводятся к одному уроку: key и количество — это и есть реальные решения дизайна, и принимаются они до того, как топик появится.

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

Trademarks belong to their respective owners. Editorial reference only.