1 性能
队列 | 说明 |
---|---|
Active | 支持 |
Rabbit | 12000/单机 |
RocketMQ | 10万/单机 |
Kafka | 100万/单机 |
2 持久化
队列 | 说明 |
---|---|
Active | 支持 |
Rabbit | 都支持(开启性能下降) |
RocketMQ | 都支持 |
Kafka | 都支持 |
3 多语言支持
队列 | 说明 |
---|---|
Active | 支持 |
Rabbit | 支持 |
RocketMQ | 仅java |
Kafka | 支持 |
4 优点
队列 | 说明 |
---|---|
Active | 1 提供多种消息协议的支持,如AMQP、STOMP等 2 具有广泛的语言客户端和插件支持 3 支持分布式事务,确保数据一致性 |
Rabbit | 1 高可用 2 基于AMQP协议,支持多种消息模式(点对点、发布订阅),提供功能丰富 |
RocketMQ | 1 性能好,阿里大量使用 2 支持事务消息 |
Kafka | 1 性能最好,大数据支持 2 流式数据处理平台(Kafka Streams) 3 社区活跃度高 |
5 缺点
队列 | 说明 |
---|---|
Active | 在高并发场景下性能差 |
Rabbit | 1 采用Erlang语言,内部原理知道的人少,不利于扩展 2 集群不支持动态扩展 |
RocketMQ | 1 对集群的依赖性较高,部署复杂 2 文档和社区资源相对较少,尤其是英文资料 |
Kafka | 1 运维难度高 2 缺乏传统消息队列的某些高级功能,如事务支持 3 仅支持发布/订阅模型,不支持点对点模型 |
6 综合
队列 | 说明 |
---|---|
Active | 缺少大量使用,不推荐 |
Rabbit | 较推荐 |
RocketMQ | 推荐 |
Kafka | 推荐 |