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