RabbitMQ
一、概述
RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。
AMQP :Advanced Message Queue,高级消息队列协议。它是应用层协议的一个开放标准,为面向消息的中间件设计,基于此协议的客户端与消息中间件可传递消息,并不受产品、开发语言等条件的限制。
RabbitMQ 最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。具体特点包括:
可靠性:
如持久化、传输确认、发布确认
灵活的路由:
交换器和队列的绑定非常灵活
消息集群
多个RabbitMQ服务器可以组成一个集群,形成一个逻辑Broker
高可用:
队列可以在集群中的机器上进行镜像,使得在部分节点出问题的情况下队列仍然可用
多种协议
MQ支持多种协议
多语言客户端
MQ几乎支持所有常用语言
管理界面:
有简单易用的管理界面
跟踪机制
如果消息异常,可以找出发生了什么
插件机制
MQ提供了很多插件,可以进行扩展