RabbitMQ简介
AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。即AMQP是一个消息队列的标准,他的目标是实现一种在全行业广泛使用的标准消息中间件技术,以便降低企业和系统集成的开销,并且向大众提供工业级的集成服务。而RabbitMQ就是按照这个标准由erlang语言开发实现的。
RabbitMQ是一种消息中间件,用于处理来自客户端的异步消息。服务端将要发送的消息放入到队列池中。接收端可以根据RabbitMQ配置的转发机制接收服务端发来的消息。RabbitMQ依据指定的转发规则进行消息的转发、缓冲和持久化操作,主要用在多服务器间或单服务器的子系统间进行通信,是分布式系统标准的配置。
RabbitMQ结构
Broker Server:也就是RabbitMQ的主体了,包含Exchange和Queue两种核心组件。RabbitMQ isn’t a food truck, it’s a delivery service,其实说白了,就是一种传输服务。
Exchange: 接受生产者发送的消息,并根据Binding规则将消息路由给服务器中的队列。ExchangeType决定了Exchange路由消息的行为。在RabbitMQ中,ExchangeType常用的有direct、Fanout和Topic三种,下面会详细介绍。
Message Queue: 消息队列。我们发送给RabbitMQ的消息最后都会到达各种queue,并且存储在其中(如果路由找不到相应的queue则数据会丢失),等待消费者来取。
Binding: 绑定是一种方式。它表示的是Exchange与Message Queue是如何联系的。 生产者在将消息发送给Exch