什么是RabbitMQ?
RabbitMQ是一套开源(MPL)的消息队列服务软件,是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成。
AMQP
高级消息队列协议即Advanced Message Queuing Protocol(AMQP)是面向消息中间件(英语:Message-oriented middleware)提供的开放的应用层协定,其设计目标是对于讯息的排序、路由(包括点对点和订阅-发布)、保持可靠性、保证安全性[1]。AMQP规范了讯息传递方和接收方的行为,以使讯息在不同的提供商之间实现互操作性,就像SMTP,HTTP,FTP等协议可以创建交互系统一样。与先前的中间件标准(如Java讯息服务)不同的是,JMS在特定的API接口层面和实现行为上进行了统一,而高阶讯息伫列协定则关注于各种讯息如何以字节流的形式进行传递。因此,使用了符合协议实现的任意应用程序之间可以保持对讯息的创建、传递。