0
点赞
收藏
分享

微信扫一扫

多维度对比5款主流分布式MQ消息队列

MQ选型

从17个维度综合对比Kafka、RabbitMQ、ZeroMQ、RocketMQ、ActiveMQ这5款当前最主流的MQ消息中间件产品,希望能为您的下一次产品的架构设计和MQ消息中间件选型提供参考依据。


Kafka

RabbitMQ

ZeroMQ

RocketMQ

ActiveMQ

资料文档

中等



开发语言

Scala

Erlang

C语言

Java

Java

支持的协议

自定义(基于TCP)

AMQP

TCP、UDP

自定义

OpenWire、STOMP、REST、XMPP、AMQP

消息存储

内存、磁盘、数据库;支持大量堆积

内存、磁盘;支持少量堆积

消息发送端的内存或者磁盘中;不支持持久化

磁盘;支持大量堆积

内存、磁盘、数据库;支持少量堆积

消息事务

支持

支持

不支持

支持

支持

负载均衡

支持

支持的不好

去中心化,不支持负载均衡

支持

可基于zookeeper实现负载均衡

集群方式

天然的‘Leader-Slave’无状态集群

支持简单集群 对高级集群模式支持不好

去中心化,不支持集群

常用 多对'Master-Slave' 模式

支持简单集群模式对高级集群模式支持不好

管理界面

一般



有管理后台

一般

可用性

非常高(分布式)

高(主从)


非常高(分布式)

高(主从)

消息重复

支持at least once、at most once

支持at least once、at most once

只有重传机制,但是没有持久化

支持at least once

支持at least once

吞吐量TPS

极大

比较大

极大


比较大

订阅形式和消息分发

发布订阅模式

direct、topic、Headers和fanout

点对点(p2p)

发布订阅模式

点对点(p2p)、广播(发布-订阅)

顺序消息

支持

不支持

不支持

支持

不支持

消息确认

支持

支持

支持

支持

支持

消息回溯

支持指定分区offset位置的回溯

不支持

不支持

支持指定时间点的回溯

不支持

消息重试

不支持

不支持

不支持

支持

不支持

并发度

并发度高

并发度极高

并发度高

并发度高

并发度高

举报

相关推荐

0 条评论