`
zhaohaolin
  • 浏览: 984009 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Advanced Message Queuing Protocol ( 3 ) 逻辑模型

    博客分类:
  • JMS
阅读更多

Sessions

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

 

 

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

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


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

 

Transactions

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

AMQP提供了四种事务模式

1。非事务模式

2。本地事务模式

3。分布式事务模式

4。高级事务模式

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

事务控制器使用txn 命令把收发的命令组织成为事务单位。

 


 

reference: AMQP 1.0 DRAFT for Review Only Revision 875

分享到:
评论

相关推荐

    OASIS Advanced Message Queueing Protocol (AMQP) Version 1.0

    ISO/IEC组织定义的AMQP协议的标准规范。目前版本号为version 1.0

    RabbitMQ研究和应用

    AMQP:Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全性要求很严格。

    rabbitmq研究与应用

    AMQP:Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全性要求很严格。

    RabbitMQ的Linux下的安装包.zip

    RabbitMQ是一个实现了AMQP(Advanced Message Queuing Protocol)高级消息队列协议的消息队列服务

    rabbit安装程序和Erlang

    RabbitMQ是一套开源(MPL)的消息队列服务软件,是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成。 Erlang与RabbitMQ,安装路径都应...

    MINA框架源码

    目前正在使用 MINA 的软件包括有:Apache Directory Project、AsyncWeb、AMQP(Advanced Message Queuing Protocol)、RED5 Server(Macromedia Flash Media RTMP)、ObjectRADIUS、Openfire 等等。

    精品资源-springboot-rabbitmq-master项目.zip

    AMQP全称:Advanced Message Queuing Protocol AMQP翻译:高级消息队列协议 RabbitMQ安装与配置 安装RabbitMQ需先安装erlang和socat 安装依赖环境 yum install build-essential openssl openssl-devel unixODBC ...

    RabbitMQ-Server安装包

    它实现了AMQP(Advanced Message Queuing Protocol)协议,并提供了可靠的消息传输、灵活的消息路由、消息队列、发布/订阅等功能。 通过下载并安装rabbitmq-server-3.7.28,你可以部署并运行这个具体版本的RabbitMQ...

    RabbitMQ实战 高效部署分布式消息队列完整版带书签

    AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。 AMQP...

    RabbitMQ 必知必会

    AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/...

    RabbitMQ实战 高效部署分布式消息队列

    AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。 AMQP...

    rabbitmq学习手册

    AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。 AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。 AMQP在...

    amqp-core-complete-v1.0.pdf

    OASIS Advanced Message Queuing Protocol (AMQP) Version 1.0 英文版 更多内容或者网页版本请见http://docs.oasis-open.org/amqp/core/v1.0/

    RabbitMQ Server 2.7.1 (Windows Binary)

    RabbitMQ 是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成,因此也是继承了这些优点。 这是RabbitMQ 2.7.1版的Windows平台安装程序...

    RabbitMQ in Action

    RabbitMQ 是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成,因此也是继承了这些优点。

    rabbitmq介绍和方案

    RabbitMQ 是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成(因此也是继承了这些优点)。 首先介绍 AMQP 和一些基本概念: 当前...

    AMQP10标准

    This document defines a networking protocol, the Advanced Message Queuing Protocol (AMQP), which enables conforming client applications to communicate with conforming messaging middleware services....

    rabbitmq-server-3.9.13.exe

    RabbitMQ是一套开源(MPL)的消息队列服务软件,是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成。

    amqp0-9-1协议说明英文原版

    This document defines a networking protocol, the Advanced Message Queuing Protocol (AMQP), which enables conforming client applications to communicate with conforming messaging middleware servers. We ...

    轻松使用rabbitmq.rar

    AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。 AMQP...

Global site tag (gtag.js) - Google Analytics