Перейти к содержимому
2 / 15

Чем модель Kafka отличается от RabbitMQ и что выбрать под задачу?

RabbitMQ — брокер сообщений: сообщение кладут в очередь, потребитель его забирает, подтверждает и сообщение исчезает. Отсюда гибкая маршрутизация, приоритеты, отложенная доставка и удобные очереди задач. Kafka — распределённый журнал: сообщения пишутся в партиции топика и лежат там до истечения retention независимо от того, кто их прочитал, а каждая группа потребителей держит свой офсет. Отсюда повторное чтение истории, несколько независимых подписчиков на один поток и порядок внутри партиции, но нет подтверждения отдельного сообщения и нет удаления «вот этого». Правило выбора: нужна очередь заданий с адресной маршрутизацией — RabbitMQ; нужен поток событий, который читают несколько потребителей и который можно перечитать, — Kafka.

Чем модель Kafka отличается от RabbitMQ и что выбрать под задачу? | JScriptiser