1. RabbitMQ:
RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系 统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。消息中间件主要用于组件之间的解耦, 消息的发送者无需知道消息使用者的存在,反之亦然.
RabbitMQ 本身支持很多的协议:AMQP,XMPP, SMTP, STOMP,也正是如此,使的它变的非常重量级,更适 合于企业级的开发。同时实现了一个经纪人(Broker)构架,这意味着消息在发送给客户端时先在中心队列 排队。对路由(Routing),负载均衡(Load balance)或者数据持久化都有很好的支持。
RabbitMQ 的优点(适用范围)
1、基于 erlang 语言开发具有高可用高并发的优点,适合集群服务器。
2、健壮、稳定、易用、跨平台、支持多种语言、文档齐全。
3、 有消息确认机制和持久化机制,可靠性高。
4、开源 其他 MQ 的优势: 1.2.1 Apache ActiveMQ 曝光率最高,但是可能会丢消息。 5、ZeroMQ 延迟很低、支持灵活拓扑,但是不支持消息持久化和崩溃恢复。
2. AcitveMQ
1. 什么是ActiveMQ?
ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。
主要特点: