Встречается на собеседованиях • сегодня

Почему с Topic распределенным по трем позициям нельзя прочитать сообщения в порядке записи

В распределенных системах с партиционированными топиками (например, Kafka) порядок сообщений гарантируется только в пределах одной партиции. Причины:

  1. Параллельная обработка: Каждая партиция обрабатывается независимым консьюмером, что исключает глобальный порядок.
  1. Задержки сети: Разные партиции могут находиться на разных брокерах с разной задержкой доставки.

Пример:

java
// Producer отправляет в 3 партиции
producer.send(new ProducerRecord<>("topic", "key1", "msg1")); // partition 0
producer.send(new ProducerRecord<>("topic", "key2", "msg2")); // partition 1
producer.send(new ProducerRecord<>("topic", "key3", "msg3")); // partition 2
// Consumer получит в произвольном порядке

Решение: использовать один ключ для связанных сообщений (они попадут в одну партицию) или внешние механизмы упорядочивания.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы