Облачная платформаAdvanced

Сравнение RocketMQ, Kafka и RabbitMQ

Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

Table 1 Функции

Функция

RocketMQ

Kafka

RabbitMQ

Очередь с приоритетом

Не поддерживается

Не поддерживается

Поддерживается. Рекомендуется установить приоритет в диапазоне 0–255.

Отложенная очередь

Поддерживается

Не поддерживается

Поддерживается

Очередь отложенных сообщений

Поддерживается

Не поддерживается

Поддерживается

Повтор сообщения

Поддерживается

Не поддерживается

Не поддерживается

Режим получения

Pull‑based и push‑based

Pull‑based

Pull‑based и push‑based

Трансляция сообщений

Поддерживается

Поддерживается

Поддерживается

Отслеживание сообщений

Поддерживается

Поддерживает отслеживание смещения и метки времени.

Не поддерживается. После подтверждения получения сообщения RabbitMQ будет уведомлен, что сообщение может быть удалено.

Накопление сообщений

Поддерживается

Обеспечивает более высокую производительность накопления, чем RabbitMQ, благодаря высокой пропускной способности.

Поддерживается

Устойчивость

Поддерживается

Поддерживается

Поддерживается

Трассировка сообщений

Поддерживается

Не поддерживается

Поддерживается

через firehose feature или плагин rabbitmq_tracing. Однако rabbitmq_tracing снижает производительность и должен использоваться только для устранения неполадок.

Фильтрация сообщений

Поддерживается

Поддерживается

Не поддерживается, но может быть инкапсулировано.

Мультиарендность

Поддерживается

Поддерживается

Поддерживается

Мультипротокольность

Совместимо с RocketMQ.

Поддерживает только Apache Kafka.

RabbitMQ основан на AMQP.

Многоязычность

Поддерживает клиентов на нескольких языках программирования.

Kafka написан на Scala и Java и поддерживает клиентов на нескольких языках программирования.

Поддерживает клиентов на нескольких языках программирования.

Throttling

RocketMQ 5.x поддерживает контроль трафика на основе спецификаций инстанса.

Поддерживает throttling для продюсеров или консьюмеров, пользователей и топиков.

Поддерживает throttling на основе кредитов для продюсеров, механизм, который инициирует защиту изнутри.

Ordered message delivery

Порядок сообщений сохраняется в пределах очереди.

Поддерживает FIFO на уровне раздела.

Поддерживает FIFO только для однопоточной очереди сообщений без расширенных функций, таких как отложенные очереди или очереди с приоритетом.

Security

Поддерживает аутентификацию SSL.

Поддерживает аутентификацию SSL и SASL, а также контроль прав чтения/записи.

Поддерживает аутентификацию SSL.

Транзакционные сообщения

Поддерживается

Поддерживается

Поддерживается.