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

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

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

Таблица 1 Функции

Функция

RocketMQ

Kafka

RabbitMQ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Pull-based и push-based

Pull-based

Pull-based и push-based

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Мультипротокольный

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

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

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

Многоязычный

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

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

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

Троттлинг

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

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

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

Упорядоченная доставка сообщений

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

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

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

Безопасность

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

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

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

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

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

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

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