各大MQ对比
特性 | ActiveMQ | RabbitMQ | RocketMQ | Kafka |
---|---|---|---|---|
单机吞吐量 | 万级 | 万级 | 十万级 | 十万级 |
topic数量对吞吐量的影响 | - | - | topic可以达到几百,几千个的级别,吞吐量会有较小幅度的下降 | topic从几十个到几百个的时候,吞吐量会大幅度下降 |
时效性 | 毫秒级 | 微秒级 | 毫秒级 | 毫秒级 |
可用性 | 高 | 高 | 非常高,分布式架构 | 非常高,分布式架构 |
消息可靠性 | 有较低概率丢失数据 | - | 经过参数优化配置,可以做到0丢失 | 经过参数优配置,消息可以做到0丢失 |
功能支持 | 完善 | 并发能力很强,性能及其好,延时很低 | MQ功能较为完善,还是分布式的,扩展性好 | 功能较为简单,主要支持简单的MQ功能,在大数据领域的实时计算以及日志采集被大规模使用,是事实上的标准 |
优劣势总结 | 非常成熟,功能强大;偶尔会有较低的概率丢失消息;社区不活跃 | 性能及其好,延时性能低,功能完善;提供管理界面;社区比较活跃;吞吐量较低;使用erlang开发源码阅读不方便 | 接口简单易用;吞吐量高;分布式扩展方便;社区还算活跃;经过双11的考验 | MQ功能比较少;吞吐量高;分布式架构;可能存在消息重复消费问题;主要适用大数据实时计算以及日志收集 |