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

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

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

Решение:

  1. Использовать ключ сообщения (key) для привязки связанных сообщений к одной партиции.
  2. Или использовать single-partition topic, но это ограничит throughput.

Пример:

java
// Запись с ключом для гарантии порядка в партиции
producer.send(new ProducerRecord<>("topic", "key1", "message1"));
producer.send(new ProducerRecord<>("topic", "key1", "message2"));

Для глобального порядка можно использовать KStreams с stateful обработкой или внешние системы (например, базу данных для упорядочивания).

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

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

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

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