Чем отличается consumer RabbitMQ от consumer Kafka?

Consumer обычной очереди RabbitMQ подтверждает отдельные доставки через ack; consumer Kafka читает записи партиций и управляет offsets. Отсюда различаются повторное чтение, распределение работы и хранение истории.

Короткий ответ

Что ответить на собеседовании

Consumer обычной очереди RabbitMQ подтверждает отдельные доставки через ack; consumer Kafka читает записи партиций и управляет offsets. Отсюда различаются повторное чтение, распределение работы и хранение истории.

Подробный разбор

Ответ с пояснениями

Consumer обычной очереди RabbitMQ подтверждает отдельные доставки через ack; consumer Kafka читает записи партиций и управляет offsets. Отсюда различаются повторное чтение, распределение работы и хранение истории.

В RabbitMQ несколько consumers очереди делят сообщения, а prefetch ограничивает неподтверждённые доставки. В классической модели Kafka consumer group распределяет партиции, и commit offset фиксирует продвижение группы, но не удаляет запись из журнала. Ошибка между эффектом и подтверждением в обоих случаях может дать повтор. RabbitMQ Streams имеет другую, журнальную модель, поэтому сравнивать нужно конкретные механизмы, а не только названия продуктов.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее