Встречается на 2% собеседований по Java
Как достичь гарантию порядка в Kafka
В Kafka порядок сообщений гарантируется только в пределах одного партиции. Для обеспечения порядка:
- Используйте одинаковый ключ (key) для связанных сообщений - они попадут в одну партицию:
java
ProducerRecord<String, String> record =
new ProducerRecord<>("topic", "sameKey", "message");-
Настройте
max.in.flight.requests.per.connection=1в продюсере, чтобы избежать переупорядочивания при ретраях. -
Для консьюмера:
- Используйте один тред на партицию
- Обрабатывайте сообщения последовательно
- Отключайте параллельную обработку (
enable.auto.commit=false)
Важно: при увеличении количества партиций порядок между ними не гарантируется. Для глобального порядка потребуется single-partition топик, что снижает пропускную способность.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы