Advanced Message Queuing Protocol ( 3 ) 逻辑模型

Sessions

建立在不同容器中的两个节点的链接必须要创建session. session是被具名的两个容器间的交互,并且为交互提供了一对可靠的有序地命令通道(正向和反向)。在同一时间的任意两个容器间可能会存在多个session, 每个session可能有多个链接。

 Advanced Message Queuing Protocol ( 3 ) 逻辑模型_第1张图片

 

Commands
session是命令通道。命令是AMQP的工作的原子单位。

命令用于创建在不同容器的源节点和目的节点之间的链接,传输信息数据,并发放和删除credit。一般来说命令在session中的传输是异步的。


Advanced Message Queuing Protocol ( 3 ) 逻辑模型_第2张图片

为了确保一个特定的指令已被接收容器执行,发送容器必须等待确认。 AMQP的不允许指令被打乱顺序执行,命令可以根据序列号排序,接收容器执行完成后会回复一个包含最后一条指令的序列号的命令(可能是一个空命令)。

Advanced Message Queuing Protocol ( 3 ) 逻辑模型_第3张图片

 

Transactions

AMQP同时也定义了事务容器,session定义了事务模型,在任何一个session中,最多有一个事务容器,另一端为事务控制器

AMQP提供了四种事务模式

1。非事务模式

2。本地事务模式

3。分布式事务模式

4。高级事务模式

可以在创建session的时候设置事务模型,创建之后不能再修改,并且在session层上控制事务模型。

事务控制器使用txn 命令把收发的命令组织成为事务单位。Advanced Message Queuing Protocol ( 3 ) 逻辑模型_第4张图片


 

reference: AMQP 1.0 DRAFT for Review Only Revision 875

你可能感兴趣的:(Advanced)