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

RabbitMQ обычно используют как брокер маршрутизируемых сообщений и рабочих очередей, Kafka — как распределённый сохраняемый журнал событий с независимыми потребителями.

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

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

RabbitMQ обычно используют как брокер маршрутизируемых сообщений и рабочих очередей, Kafka — как распределённый сохраняемый журнал событий с независимыми потребителями.

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

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

RabbitMQ обычно используют как брокер маршрутизируемых сообщений и рабочих очередей, Kafka — как распределённый сохраняемый журнал событий с независимыми потребителями.

В типичной очереди RabbitMQ обработанное и подтверждённое сообщение удаляется; в Kafka чтение не удаляет запись, а consumer хранит позицию и может перечитывать доступную историю. У RabbitMQ также есть streams, поэтому сравнение «очередь против лога» не описывает все режимы.

Kafka удобна для больших потоков и нескольких проекций данных, RabbitMQ — для гибкой маршрутизации задач. В обоих случаях надо отдельно выбрать подтверждения, устойчивость хранения и обработку повторов. Решение принимают по требованиям к порядку, retention, задержке и эксплуатации.

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

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

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

Подробнее