各个消息队列的优缺点对比(activeMQ、rabbitMQ、rocketMQ、kafka)

各个消息队列对比
特性activeMQrabbitMQrocketMQkafka
单机吞吐量万/秒万/秒10万/秒10万/秒
topic对吞吐量的影响topic达到几百/几千个级别,吞吐量会有小幅下降; 这是rocket的最大优势 所以非常适用于支撑大批量topic场景topic可以达到几十/几百个级别,吞吐量会有大幅下降 kafka不适用大批量topic场景,除非加机器
时效性毫秒微秒 这是rabbit 最大优势,延迟低毫秒毫秒
可用性高。主从架构高。主从架构非常高。分布式。非常高。分布式。数据多副本,不会丢数据,不会不可用。
可靠性有较低概率丢失数据--------经配置优化可达到0丢失经配置优化可达到0丢失
功能特性功能齐全但已经不怎么维护erlang开发,并发强,性能极好,延迟低MQ功能较为齐全,扩展好功能简单,主要用于大数据实时计算和日志采集,事实标准

activeMQ总结

  • 优点:技术成熟,功能齐全,历史悠久,有大量公司在使用

  • 缺点:偶尔会有较低概率丢失数据,而且社区已经不怎么维护5.15.X版本

  • 使用场景:主要用于系统解耦和异步处理,不适用与大数据量吞吐情况。互联网公司很少适用

rabitMQ总结

  • 优点:吞吐量高,功能齐全,管理界面易用,社区活跃,性能极好,;

  • 缺点:吞吐量只是万级,erlang难以二次开发和掌控;集群动态扩展非常麻烦;

  • 使用场景:吞吐量不高而要求低延迟,并且不会频繁调整和扩展的场景。非常适合国内中小型互联网公司适用,因为管理界面非常友好,可以在界面进行配置和优化/集群监控。

rocketMQ总结

  • 优点:支持百千级大规模topic。吞吐量高(十万级,日处理上百亿)。接口易用。,分布式易扩展,阿里支持。java开发易于掌控。

  • 缺点:与阿里(社区)存在绑定。不兼容JMS规范。

  • 使用场景:高吞吐量

kafka总结

  • 优点:超高吞吐量,超高可用性和可靠性,分布式易扩展

  • 缺点:topic支持少,MQ功能简单,消息可能会重复消费影响数据精确度

  • 使用场景:超高吞吐量场景而数据精确度没那么高,天然适合大数据实时计算和日志采集场景

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值