了解什么是AMQP?
AMQP全称:Advanced Message Queuing Protocol(高级消息队列协议)。是应用层协议的一个开发标准,为面向消息的中间件设计。
基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。RabbitMQ的底层是Erlang语言开发的。
它支持符合要求的客户端应用(application)和消息中间件代理(messaging middleware broker)之间进行通信。
像RabbitMQ这样的消息队列实现是基于AMQP协议的,如果我们能先搞定AMQP协议,了解一条消息从投递到消息队列到被消费者消费的生命周期,深入了解RabbitMQ的使用就不难了。
从架构图里面可以看出,整个AMQP协议包含的主体大概有这些
- 生产者 交换机 队列 消费者
生产者把消息投递给交换机,交换机根据路由规则把消息投递到队列,消费者再从队列里面消费消息。
AMQP生产者流转过程
AMQP消费者流转过程
详细参考:https://blog.csdn.net/hayre/article/details/103105401