天天看点

几种消息中间件的比较-activemq,robbitmq,rocketmq,kafka

1.activemq

activemq是Apache出品的,完全支持一个完全支持JMS1.1和J2EE 1.4规范的框架. 

⒈ 多种语言和协议编写客户端。语言: Java,C,C++,C#,Ruby,Perl,Python,PHP。应用协议: OpenWire,Stomp REST,WS Notification,XMPP,AMQP 

⒉ 完全支持JMS1.1和J2EE 1.4规范 (持久化,XA消息,事务) 

⒊ 对Spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去 

4.支持通过JDBC和journal提供高速的消息持久化 

5.不适用于上千个队列的应用场景

2.robbitmq

RabbitMQ是AMQP协议领先的一个实现,它实现了代理(Broker)架构 

1.结合erlang语言本身的并发优势,性能较好,但是不利于做二次开发和维护 

2.消息在发送到客户端之前可以在中央节点上排队。此特性使得RabbitMQ易于使用和部署,适宜于很多场景如路由、负载均衡或消息持久化等,用消息队列只需几行代码即可搞定。但是,这使得它的可扩展性差,速度较慢,因为中央节点增加了延迟,消息封装后也比较大 

3.支持持久化消息

3.rocketmq

rocketmq是阿里使用的开源的分布式消息系统,支持分布式 

1.能保证消息的顺序 

2.提供丰富的消息拉取模式 

3.亿级消息堆积能力 

4.同样支持持久化消息 

5.部署由一个 命名服务(nameserver)和一个代理(broker)组成,支持在broker端对消息进行过滤 

6.高可用,可以支撑淘宝的双十一流量

4.kafka

kafka的设计初衷就是为了统计日志 

1.吞吐量大,即使是非常普通的硬件Kafka也可以支持每秒数百万的消息 

2.支持分布式 

3.可靠性较前面的稍弱(少量丢失消息) 

几种消息中间件的比较-activemq,robbitmq,rocketmq,kafka

--------------------- 

作者:zzzgd_666 

来源:CSDN 

原文:https://blog.csdn.net/zzzgd_666/article/details/80880537 

版权声明:本文为博主原创文章,转载请附上博文链接!

继续阅读