首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

AMQP协议

AMQP协议简介 大家在工作中很多就接触过RabbitMq,其实RabbitMq就是AMQP协议的一种实现。 与其说AMQP是一种协议,其实它更是一种标准。...AMQP是一个进程间传递异步消息的网络协议。全称为AMQP(Advanced Message Queuing Protocol)。...AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。AMQP在消息提供者和客户端的行为进行了强制规定,使得不同卖商之间真正实现了互操作能力。...AMQP和JMS的区别 说到AMQP协议,就不得不聊JMS。JMS是早期消息中间件进行标准化的一个尝试,它仅仅是在API级进行了规范。...模型概括 AMQP模型如下 Server:又称Broker,接受客户端的连接,实现AMQP实体服务。

42440
您找到你想要的搜索结果了吗?
是的
没有找到

AMQP协议探索

HTTP就是超文本传输协议,其作为应用层协议最终填充到TCP的报文中,AMQP协议其实也和HTTP协议一样,其报文填充到TCP报文中,所以AMQP协议就是通过这种协议让通信双方知道要做那些事情。...明白了这一点,我们看一下AMQP协议的有哪些部分。 2.AMQP协议的分层 AMQP协议的边界问题,作者找了半天也没找到。这块复制粘贴一下,主要有两个版本。...3.AMQP协议的模型(AMQP协议主要描述了一个怎么样的数据过程?)...AMQP协议的规范简介 通过上述描述,我们大概知道AMQP到底是个啥,作者这边通过查阅资料搜到了一些AMQP的规范,其实往深入的应该看一下AMQP的协议的实现逻辑。但是感觉有点太深入了。...当然我们发现AMQP是支持事务的。具体的类是tx。

22810

AMQP与RabbitMQ笔记

一、简介 AMQP全称是Advanced MessageQueuing Protocol (高级消息队列协议)。其官方网站在[1]。 AMQP是一个应用层的异步消息传递协议,为面向消息的中间件而设计。...而在设计初期,AMQP的原始用途只是为金融界提供一个可以彼此协作的消息协议。现在已经有相当一部分遵循AMQP的服务器和客户端供使用。其中RabbitMQ是AMQP的一款开源标准实现。...AMQP现在已经成为OASIS的标准之一。 二、概念及技术 1.协议 AMQP的设计理念与数据通信网络中的路由协议有些相似。从应用程序角度,AMQP的应用也是服务器/客户端模式。...但是在消息队列中,AMQP通过队列的状态决定生产者(Producer)、消费者(Consumer)之间的连接。...[1] http://www.amqp.org/ [2] http://www.rabbitmq.com/ [3] http://www.amqp.org/product/architecture [4

30430

RabbitMQ与AMQP协议

AMQP(Advanced Message Queuing Protocol, 高级消息队列协议)是一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计...RabbitMQ是一个实现了AMQP协议标准的开源消息代理和队列服务器。...Virtual host: 出于多租户和安全因素设计的,把AMQP的基本组件划分到一个虚拟的分组中,类似于网络中的namespace概念。...Channel是在connection内部建立的逻辑连接,如果应用程序支持多线程,通常每个thread创建单独的channel进行通讯,AMQP method包含了channel id帮助客户端和message...', routing_key='a_routing_key' ) # 处理接收到的消息的回调函数 # method_frame携带了投递标记, header_frame表示AMQP

1.5K50

Spring消息之AMQP.

一、AMQP 概述 AMQP(Advanced Message Queuing Protocol),高级消息队列协议。     简单回忆一下JMS的消息模型,可能会有助于理解AMQP的消息模型。...与之不同的是,AMQP的生产者并不会直接将消息发布到队列中。AMQP在消息的生产者以及传递信息的队列之间引入了一种间接的机制:Exchange。如下图: ?    ...来看看 AMQP 消息的通信过程。首先,生产者把消息发给 Exchange,并带有一个 routing key。...AMQP 与 JMS 的区别: 1、AMQP为消息定义了线路层(wire-level protocol)的协议,而JMS所定义的是API规范。...而AMQP的线路层协议规范了消息的格式,消息在生产者和消费者间传送的时候会遵循这个格式。这样AMQP在互相协作方面就要优于JMS——它不仅能跨不同的AMQP实现,还能跨语言和平台。

74330

深入理解 AMQP 协议

fr=aladdin PS:更多详情见 AMQP主页 :http://www.amqp.org/ 。...一、AMQP 是什么 AMQP(Advanced Message Queuing Protocol,高级消息队列协议)是一个进程间传递异步消息的网络协议。 二、AMQP模型 ?...七、其他 连接 AMQP 连接通常是长连接。AMQP 是一个使用 TCP 提供可靠投递的应用层协议。AMQP 使用认证机制并且提供 TLS(SSL)保护。...当一个应用不再需要连接到 AMQP 代理的时候,需要优雅的释放掉 AMQP 连接,而不是直接将 TCP 连接关闭。 通道 有些应用需要与 AMQP 代理建立多个连接。...这些特性使得 AMQP 0-9-1 模型更加灵活,并且能够适用于解决更加宽泛的问题。 AMQP 0-9-1 客户端生态系统 AMQP 0-9-1 拥有众多的适用于各种流行语言和框架的客户端。

2.8K31

浅谈RabbitMQ的基石—高级消息队列协议(AMQP

也就是说,搞清楚AMQP是掌握好RabbitMQ哲学的基础。 当前AMQP的最新版本为1.0,而主要使用的(也是RabbitMQ实现的)版本为0-9-1。...这两个版本之间的差别非常大,本文抄录的是AMQP 0-9-1的部分细节。...AMQP及其模型 通俗地讲,AMQP是一个专门为消息中间件设计的、开放标准的应用层协议,它规定了消息系统中三大组件——消息服务器/代理节点(server/broker)、生产者/发布者(producer...AMQP实体(AMQP entity):交换器、队列和绑定三者合起来就称为一个AMQP实体,图中未示出。交换器、队列和绑定都可以有一个或多个。...交换器 交换器在AMQP实体中负责消息路由。它的路由目的地除了由用户设置的绑定规则来决定之外,还与交换器的类型有关。AMQP定义了几种默认的交换器。

1.7K30

php 使用AMQP扩展调用RabbitMq

); //direct类型 ,精准投递,根据交换机publish的路由信息队列绑定时才会进行 $ex->setFlags(AMQP_DURABLE); //持久化 ,支持rabbitMq重启时交换机自动恢复...\n"; //查看如果交换机不存在则进行创建 //创建队列 $q = new AMQPQueue($channel); $q->setName($q_name); $q->setFlags(AMQP_DURABLE...); //direct类型 ,精准投递,根据交换机publish的路由信息队列绑定时才会进行 $ex->setFlags(AMQP_DURABLE); //持久化 ,支持rabbitMq重启时交换机自动恢复...; //创建交换机对象 $ex = new AMQPExchange($channel); $ex->setName($e_name); $ex->setType(AMQP_EX_TYPE_DIRECT...则处理完的消息可以自动删除 //不需要的话则进行这样:$ex->publish($message, $k_route,AMQP_NOPARAM,array('delivery_mode'=>2,

1.9K62
领券