- ZeroMQ
Distributed Messaging (分布式消息传递)
C语言开发,号称史上最快的消息队列。
可以在任何平台上通过任何代码连接
通过inproc、IPC、TCP、TIPC、多播传送消息,支持发布-订阅、推-拉、共享队列等模式,高速异步I/O引擎。
根据官方的说法,ZeroMQ是一个简单好用的传输层,像框架一样的可嵌入的socket类库,使Socket编程更加简单、简洁、性能更高,是专门为高吞吐量/低延迟的场景开发的。ZeroMQ与其他MQ有着本质的区别,它根本不是消息队列服务器,更类似与一个底层网络通讯库,对原有Socket API进行封装,在使用的使用引入对应的jar包即可,可谓是相当灵活。
同时,因为它的简单灵活,如果我们想作为消息队列使用的话,需要开发大量代码。而且,ZeroMQ不支持消息持久化,其定位并不是安全可靠的消息传输,所以还需要自己编码保证可靠性。简而言之一句话,ZeroMQ很强大,但是想用好需要自己实现。
个人观察:
更新速度太慢,不建议使用
- RabbitMQ
应用量很大的一款开源框架
支持分布式
实现网络代理架构
本身是实现了AMQP的消息队列
支持众多开发语言
特色:
分布式部署
良好的开发体验
异步消息队列
ActiveMQ
Apollo
Kafka
RocketMQ