MQ选型
MQ选型
MQ选型
常见的MQ
kafka
优点:吞吐量非常大、性能非常好、集群高可用缺点:会丢失数据,功能比较单一使用场景:日志分析、大数据采集
RabbitMQ
优点:消息可靠性高,功能全面缺点:吞吐量比较低,消息积累会严重影响性能。erlang语言不好定制使用场景:小规模场景
RocketMQ
优点:高吞吐、高可用、高性能,功能非常全面缺点:开源版本功能不如商业版。官方文档和周边生态还不好。客户端只支持java
多中MQ的优缺点对比
| — | ActiveMQ | RabbitMQ | RocketMQ | Kafka | ZeroMQ | |
|---|---|---|---|---|---|---|
| 单机吞吐量 | 比RabbitMQ低 | 2.6W/s | 11.6w/s | 17.3w/s | 29w/s | |
| 开发语言 | Java | Erlang | Java | Scala/Java | C | |
| 主要维护者 | Apache | — | Apache | Apache | — | |
| 成熟度 | 成熟 | 成熟 | 开源版本不够成熟 | 比较成熟 | — | |
| 订阅形式 | 点对点(p2p)、广播(发布-订阅) | — | — | — | — | |
| 持久化 | 支持少量堆积 | 支持少量堆积 | 支持大量堆积 | 支持大量堆积 | 不支持 | |
| 顺序消息 | 不支持 | 不支持 | 支持 | 支持 | 不支持 | |
| 性能稳定性 | 好 | 好 | 一般 | 较差 | 很好 | |
| 集群方式 | — | — | — | — | — | |
| 管理页面 | 一般 | 较好 | 一般 | 无 | 无 |
本文由作者按照 CC BY 4.0 进行授权