Kafka vs RabbitMQ

Выбирая между Kafka и RabbitMQ

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

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

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

Kafka
RebbitMQ

Простота установки

-

+

Объем данных

Большой, сотни тысяч сообщений в секунду

Небольшой

Обмен информацией

Pub-Sub

Pub-Sub и Point-to-Point

Гарантия доставки

At most once / At least once / Exactly once

At most once / At least once

Повышенная отказоустойчивость

+

-

Процесс распределения сообщений на стороне брокера

-

+

Источник: https://habr.com/ru/companies/innotech/articles/698838/

Last updated