RabbitMQ是一个在AMQP(高级消息队列协议)基础上完成的由Erlang语言开发,可复用的企业消息系统,是当前主流的消息中间件之一。
RabbitMQ结构图:
图中的Publisher是生产者,consumer是消费者,中间的是RabbitMQ服务。
一个RabbitMQ服务,可以有多个Vhost(虚拟主机),每个虚拟主机相对独立。一个Vhost中可以有多个Exchange(路由)和多个Queue(队列)。
RabbitMQ服务进程模型:
AMQP(高级消息队列协议):
RabbitMQ的特点:
1.高可靠性;
2.灵活的路由;
3.消息集群简单;
4.队列高可用;
5.多种协议的支持;
6.支持管理界面;
7.跟踪机制;
8.插件机制。