Функция | RocketMQ | Kafka | RabbitMQ |
|---|---|---|---|
Очередь с приоритетом | Не поддерживается | Не поддерживается | Поддерживается. Рекомендуется установить приоритет в диапазоне 0–255. |
Отложенная очередь | Поддерживается | Не поддерживается | Поддерживается |
Очередь отложенных сообщений | Поддерживается | Не поддерживается | Поддерживается |
Повтор сообщения | Поддерживается | Не поддерживается | Не поддерживается |
Режим получения | Pull-based и push-based | Pull-based | Pull-based и push-based |
Трансляция сообщений | Поддерживается | Поддерживается | Поддерживается |
Отслеживание сообщений | Поддерживается | Поддерживает отслеживание смещения и метки времени. | Не поддерживается. После подтверждения получения сообщения RabbitMQ будет уведомлен, что сообщение может быть удалено. |
Накопление сообщений | Поддерживается | Обеспечивает более высокую производительность накопления, чем RabbitMQ, благодаря высокой пропускной способности. | Поддерживается |
Устойчивость | Поддерживается | Поддерживается | Поддерживается |
Трассировка сообщений | Поддерживается | Не поддерживается | Поддерживается через firehose feature или rabbitmq_tracing plugin. Однако rabbitmq_tracing снижает производительность и должен использоваться только для устранения неполадок. |
Фильтрация сообщений | Поддерживается | Поддерживается | Не поддерживается, но может быть инкапсулировано. |
Мультиарендность | Поддерживается | Поддерживается | Поддерживается |
Мультипротокольный | Совместимо с RocketMQ. | Поддерживает только Apache Kafka. | RabbitMQ основан на AMQP. |
Многоязычный | Поддерживает клиентов на нескольких языках программирования. | Kafka написан на Scala и Java и поддерживает клиентов на нескольких языках программирования. | Поддерживает клиентов на нескольких языках программирования. |
Троттлинг | RocketMQ 5.x поддерживает контроль трафика на основе спецификаций инстанса. | Поддерживает ограничение пропускной способности для клиентских продюсеров или консьюмеров, пользователей и тем. | Поддерживает ограничение пропускной способности на основе кредитов для продюсеров, механизм, который инициирует защиту изнутри. |
Доставка сообщений в порядке | Порядок сообщений сохраняется внутри очереди. | Поддерживает FIFO на уровне раздела. | Поддерживает FIFO только для однопоточной очереди сообщений без расширенных функций, таких как отложенные очереди или очереди с приоритетом. |
Безопасность | Поддерживает аутентификацию SSL. | Поддерживает аутентификацию SSL и SASL, а также контроль прав чтения/записи. | Поддерживает аутентификацию SSL. |
Транзакционные сообщения | Поддерживается | Поддерживается | Поддерживается. |