消息队列(Message Queue)是一种进程间通信或同一进程的不同线程间的通信方式。在分布式系统中,消息队列中间件是组件间沟通的中间(也是中坚)桥梁。下面主要比较目前比较流行的4个消息队列中间件产品,我们可以根据自身产品的语言、场景、要求等选择合适的MQ产品。
RabbitMQ是一个Advanced Message Queuing Protocol(AMQP)的开源实现,由以高性能、可伸缩性出名的Erlang写成。RabbitMQ Server适用的OS有:Windows、Linux/Unix和Mac OS X,RabbitMQ官方的Client有Java、.Net/C#和Erlang。
AMQP协议主要有3个组件:
- 交换器(Exchange):它是发送消息的实体
- 队列(Queue):它是接收消息的实体
- 绑定器(Bind):将交换器和队列连接起来,并且封装消息的路由信息