Как стать автором
Обновить

Всем привет! Решил кратенько описать частый вопрос на собеседованиях Kafka vs Rabbit, что и когда лучше использовать, ведь данный вопрос наверняка достал многих.

Кратенько о Kafka:

  • Производительность: данный брокер имеет PULL модель выгрузки сообщений потребителям, благодаря такой модели взаимодействия можно равномернее распределить нагрузку, однако задержка на получение сообщений выше

  • Упорядоченность сообщений: Имеет упорядоченность сообщений в рамках одной партиции

  • Хранение сообщений: для каждой партиции сообщения сохраняются в отдельном файлике и возможна повторная выгрузка

  • Маршрутизация: взаимодействие идет через топики, а маршрутизация через consumer group

  • Простота настройки: Имеет более сложную настройку

Кратенько о RabbitMQ:

  • Производительность: данный брокер имеет PUSH модель отправки сообщений, благодаря такой модели, задержка между получением новых потребителем, ниже, чем у Kafka. Однако нужно учесть, что потребитель может не успевать обрабатывать такой поток сообщений и будет перегрузка

  • Упорядоченность сообщений: по умолчанию упорядоченности сообщений нет и необходимо настраивать дополнительно. Также из-за PUSH модели отправки сообщений, невозможно распределить нагрузку равномерно

  • Хранение сообщений: брокер не хранит сообщения и поэтому имеется риск утери и невозможность повторной выгрузки

  • Маршрутизация: благодаря Exchagne, Queue позволяет настроить более гибкую маршрутизацию

  • Простота настройки: Имеет более простую настройки нежели Kafka

Теги:
Всего голосов 1: ↑1 и ↓0+2
Комментарии2

Публикации

Истории

Ближайшие события

One day offer от ВСК
Дата16 – 17 мая
Время09:00 – 18:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область