AMQP协议介绍:
RabbitMQ就是AMQP协议的Erlang的实现(当然RabbitMQ还支持STOMP、MQTT等协议)。
AMQP
协议本身包括三层。
M
o
dul
e
Layer:
位于协议最高层,主要定义了一些供客户端调用的命令,客户端可以利
用这些命令实现自己的业务逻辑。例如
客户端可以使用
Queue
Declare
命令声明一
个队列或者使用
Basic
Consume
订阅消费一个队列中的消息。
S
essi
on
Layer
:位于中间层,主要负责将客户端的命令发送给服务器
再将服务端的应
答返回给客户端,主要为客户端与服务器之间的通信提供可靠性同步机制和错误处理。
Transport
Layer:位于最底层,主要传输二进制数据流,提供帧的处理、信道复用、错
误检测和数据表示等。
AMQP
说到底还是一个通信协议,通信协议都会涉及报文交互,从
low
level
举例来说,
AMQP
本身是应用层的协议,其填充于
TCP
协议层的数据部分。而从
high-lev
el
来说
AMQP
是通过协议命令进行交互的。
AMQP
协议可以看作一系列结构化命令的集合,这里的命令代表
一种操作,类似于
HT
TP
中的方法(
GET、P
OST、
PUT、D
ELETE
等)。
一、AMQP生产者流转过程

二、AMQP消费者流转过程
二、AMQP命令预览: