网站头条怎么做,东莞品牌vi设计,可以做ppt的软件,拼团系统开发本文参考以下链接摘录翻译#xff1a; https://www.rabbitmq.com/tutorials/amqp-concepts
连接#xff08;Connections#xff09;
AMQP 0-9-1连接通常是长期保持的。AMQP 0-9-1是一个应用级别的协议#xff0c;它使用TCP来实现可靠传输。连接使用认证且可以使用TLS保护…本文参考以下链接摘录翻译 https://www.rabbitmq.com/tutorials/amqp-concepts
连接Connections
AMQP 0-9-1连接通常是长期保持的。AMQP 0-9-1是一个应用级别的协议它使用TCP来实现可靠传输。连接使用认证且可以使用TLS保护。当一个应用不再需要连接到代理服务器时它应该优雅第关闭它的AMQP连接而不是突然关闭底层的TCP连接。
通道Channels 有些应用需要多个连接连向消息代理。尽管如此同时保持许多TCP连接打开是不必要的因为这样做会消耗很多系统资源且让配置防火墙变得困难。AMQP连接用通道实现了多路复用通道可以被当成轻量级的连接它们共享一个TCP连接。
客户端做的每一次操作都发生在一个通道上。一个通道上的通讯是与其他通道上的通讯完全隔离的因此每个协议方法也携带了一个通道ID通道号通道ID是一个整数消息代理和客户端用通道ID来弄清某个操作来自哪个通道。
一个通道只存在于一个连接的上下文它没有自己的上下文。当一个连接关闭该连接上的所有通道也被关闭了。
对于使用多线程或进程的程序为每个线程或进程开启一个通道是很常见的线程或进程间不共享通道。
虚拟主机Virtual Hosts 为了在一个单一的消息代理中容纳多个隔离的环境用户组交换机队列等AMQP提供了虚拟主机的概念virtual hosts vhosts。它们与许多流行的Web服务器使用的虚拟主机类似提供了完全隔离的环境用于容纳AMQP实体。协议客户端在连接协商阶段订阅它们自己想要的虚拟主机vhosts。
AMQP是可扩展的AMQP is Extensible
AMQP 0-9-1有几个扩展点
自定义交换机类型 让开发者实现自己想要的路由机制以实现现有交换机不擅长的功能如基于地理数据的路由交换机和队列声明可以包含额外的消息代理可使用的属性。例如RabbitMQ中消息在每个队列中的存活时间per-queue message TTL采用该方式实现消息代理专门对协议的扩展。例如RabbitMQ实现的协议扩展可以引入新的AMQP 0-9-1 方法类消息代理可以用额外的插件来扩展。例如RabbitMQ的管理前端和HTTP API就是一个插件