1、ActiveMQ:Java语言编写、完全基于JMS 1.1规范的面向消息的中间件,为应用程序提供高效的、可扩展的、稳定的和安全的企业级消息通信。
2、RabbitMQ:采用Erlang语言实现的AMQP协议的消息中间件,最初起源于金融系统,用于在分布式系统中存储转发消息。RabbitMQ发展到今天,被越来越多的人认可,这和它在可靠性、可用性、扩展性、功能丰富等方面的卓越表现是分不开的
3、Kafka:起初是由LinkedIn公司采用Scala语言开发的一个分布式、多分区、多副本且基于ZooKeeper协调的分布式消息系统
它是一种高吞吐量的分布式发布订阅消息系统,以可水平扩展和高吞吐率而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Apache Storm、Spark、Flink等都支持与Kafka集成
4、 RocketMQ:是阿里开源的消息中间件,目前已经捐献给Apache基金会,Java语言开发,具备高吞吐量、高可用性、适合大规模分布式系统应用等特点,经历过双11的洗礼,实力不容小觑
5、 ZeroMQ:号称最快的消息队列,基于C语言开发。ZeroMQ是一个消息处理队列库,可在多线程、多内核和主机之间弹性伸缩
虽然大多数时候我们习惯将其归入消息队列家族之中,但是其和前面的几款有着本质的区别,ZeroMQ本身就不是一个消息队列服务器,更像是一组底层网络通讯库,对原有的Socket API上加上一层封装而已;ZeroMQ仅提供非持久性的队列,也就是说如果宕机,数据将会丢失。Twitter的Storm中使用ZeroMQ作为数据流的传输。

---------------------------------------------------------------------MQ协议------------------------------------------------------------------------------------------
1、MQ:Message Queue 消息队列
2、JMS:Java Message Service JAVA消息服务,ActiveMQ基于该协议开发实现;
3、AMQP:Advanced Message Queue Protocol
JMS只是基于JAVA语言的规范,AMQP协议支持跨开发语言的需求
3771

被折叠的 条评论
为什么被折叠?



