招生处网站建设方案,软件免费下载,谷歌搜索优化,展示设计图片一.单机吞吐量 ActiveMQ#xff1a;万级#xff0c;吞吐量比RocketMQ和Kafka要低了一个数量级
RabbitMQ#xff1a;万级#xff0c;吞吐量比RocketMQ和Kafka要低了一个数量级
RocketMQ#xff1a;10万级#xff0c;RocketMQ也是可以支撑高吞吐的一种MQ
Kafka#xff…一.单机吞吐量 ActiveMQ万级吞吐量比RocketMQ和Kafka要低了一个数量级
RabbitMQ万级吞吐量比RocketMQ和Kafka要低了一个数量级
RocketMQ10万级RocketMQ也是可以支撑高吞吐的一种MQ
Kafka10万级别这是kafka最大的优点就是吞吐量高。一般配合大数据类的系统来进行实时数据计算、日志采集等场景 二.topic数量对吞吐量的影响
RocketMQtopic可以达到几百几千个的级别吞吐量会有较小幅度的下降这是RocketMQ的一大优势在同等机器下可以支撑大量的topic
Kafkatopic从几十个到几百个的时候吞吐量会大幅度下降所以在同等机器下kafka尽量保证topic数量不要过多。如果要支撑大规模topic需要增加更多的机器资源 三.时效性
ActiveMQms级
RabbitMQ微秒级这是rabbitmq的一大特点延迟是最低的
RocketMQms级
Kafka延迟在ms级以内 四.可用性
ActiveMQ高基于主从架构实现高可用性
RabbitMQ高基于主从架构实现高可用性
RocketMQ非常高分布式架构
Kafka非常高kafka是分布式的一个数据多个副本少数机器宕机不会丢失数据不会导致不可用 五.消息可靠性 ActiveMQ有较低的概率丢失数据
RocketMQ经过参数优化配置可以做到0丢失
Kafka经过参数优化配置消息可以做到0丢失 六、功能支持 ActiveMQMQ领域的功能极其完备
RabbitMQ基于erlang开发所以并发能力很强性能极其好延时很低
RocketMQMQ功能较为完善还是分布式的扩展性好
Kafka功能较为简单主要支持简单的MQ功能在大数据领域的实时计算以及日志采集被大规模使用是事实上的标准 七.优劣势总结 ActiveMQ非常成熟功能强大在业内大量的公司以及项目中都有应用偶尔会有较低概率丢失消息而且现在社区以及国内应用都越来越少官方社区现在对ActiveMQ 5.x维护越来越少几个月才发布一个版本而且确实主要是基于解耦和异步来用的较少在大规模吞吐的场景中使用 RabbitMQerlang语言开发性能极其好延时很低吞吐量到万级MQ功能比较完备而且开源提供的管理界面非常棒用起来很好用社区相对比较活跃几乎每个月都发布几个版本分在国内一些互联网公司近几年用rabbitmq也比较多一些但是问题也是显而易见的RabbitMQ确实吞吐量会低一些这是因为他做的实现机制比较重。而且erlang开发国内有几个公司有实力做erlang源码级别的研究和定制如果说你没这个实力的话确实偶尔会有一些问题你很难去看懂源码你公司对这个东西的掌控很弱基本职能依赖于开源社区的快速维护和修复bug。而且rabbitmq集群动态扩展会很麻烦不过这个我觉得还好。其实主要是erlang语言本身带来的问题。很难读源码很难定制和掌控。 RocketMQ接口简单易用而且毕竟在阿里大规模应用过有阿里品牌保障日处理消息上百亿之多可以做到大规模吞吐性能也非常好分布式扩展也很方便社区维护还可以可靠性和可用性都是ok的还可以支撑大规模的topic数量支持复杂MQ业务场景而且一个很大的优势在于阿里出品都是java系的我们可以自己阅读源码定制自己公司的MQ可以掌控社区活跃度相对较为一般不过也还可以文档相对来说简单一些然后接口这块不是按照标准JMS规范走的有些系统要迁移需要修改大量代码还有就是阿里出台的技术你得做好这个技术万一被抛弃社区黄掉的风险那如果你们公司有技术实力我觉得用RocketMQ挺好的 Kafkakafka的特点其实很明显就是仅仅提供较少的核心功能但是提供超高的吞吐量ms级的延迟极高的可用性以及可靠性而且分布式可以任意扩展同时kafka最好是支撑较少的topic数量即可保证其超高吞吐量而且kafka唯一的一点劣势是有可能消息重复消费那么对数据准确性会造成极其轻微的影响在大数据领域中以及日志采集中这点轻微影响可以忽略这个特性天然适合大数据实时计算以及日志收集。