AMQP-核心概念-终章
本文参考以下链接摘录翻译:
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就是一个插件
相关文章:
AMQP-核心概念-终章
本文参考以下链接摘录翻译: https://www.rabbitmq.com/tutorials/amqp-concepts 连接(Connections) AMQP 0-9-1连接通常是长期保持的。AMQP 0-9-1是一个应用级别的协议,它使用TCP来实现可靠传输。连接使用认证且可以使用TLS保护…...
在WPF中使用WebView2详解
Microsoft Edge WebView2 Microsoft Edge WebView2 控件允许在本机应用中嵌入 web 技术(HTML、CSS 以及 JavaScript)。 WebView2 控件使用 Microsoft Edge 作为绘制引擎,以在本机应用中显示 web 内容。 使用 WebView2 可以在本机应用的不同部分嵌入 Web 代码&…...
僵尸进程的例子
以下是一个简单的C语言程序示例,该程序将创建一个子进程,然后子进程退出,但是父进程不会调用wait()或waitpid()来回收子进程的状态,从而使得子进程成为僵尸进程。 #include <stdio.h> #include <stdlib.h> #include …...
消息中间件分享
消息中间件分享 1 为什么使用消息队列2 消息队列有什么缺点3 如何保证消息队列的高可用4 如何处理消息丢失的问题?5 如何保证消息的顺序性1 为什么使用消息队列 解耦、异步、削峰 解耦 不使用中间件的场景 使用中间件的场景 异步 不使用中间件 使用中间件 削峰 不使…...
12. kubernetes调度——污点Taint和容忍Toleration
kubernetes调度——污点Taint和容忍Toleration 一、通过节点属性调度1、节点名称2、节点标签2.1 查看节点标签2.2 添加标签2.3 修改标签2.4 删除标签2.5 通过节点标签进行调度 二、污点Taint和容忍Toleration1、污点Taint1.1 查看Master节点的污点1.2 添加污点1.3 删除污点 2、…...
第100+18步 ChatGPT学习:R实现SVM分类
基于R 4.2.2版本演示 一、写在前面 有不少大佬问做机器学习分类能不能用R语言,不想学Python咯。 答曰:可!用GPT或者Kimi转一下就得了呗。 加上最近也没啥内容写了,就帮各位搬运一下吧。 二、R代码实现SVM分类 (1&a…...
react函数学习——useState函数
在 React 中,useState 是一个钩子(hook),用于在函数组件中添加状态管理功能。它返回一个数组,包含两个元素: 当前状态值(selectedValue):这是状态的当前值。更新状态的函…...
方天云智慧平台系统 GetCompanyItem SQL注入漏洞复现
0x01 产品简介 方天云智慧平台系统,作为方天科技公司的重要产品,是一款面向企业全流程的业务管理功能平台,集成了ERP(企业资源规划)、MES(车间执行系统)、APS(先进规划与排程)、PLM(产品生命周期)、CRM(客户关系管理)等多种功能模块,旨在通过云端服务为企业提供…...
C语言同时在一行声明指针和整型变量
如果这么写, int *f, g; 并没有声明2个指针,编译器自己会识别,f是一个指针,g是一个整型变量; void CTszbView::OnDraw(CDC* pDC) {CTszbDoc* pDoc GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for nat…...
thinkphp框架远程代码执行
一、环境 vulfocus网上自行下载 启动命令: docker run -d --privileged -p 8081:80 -v /var/run/docker.sock:/var/run/docker.sock -e VUL_IP192.168.131.144 8e55f85571c8 一定添加--privileged不然只能拉取环境首页不显示 二、thinkphp远程代码执行 首页&a…...
【公式】博弈论中的核心算法:纳什均衡公式解析
博弈论中的核心算法:纳什均衡公式解析 纳什均衡的基本概念 纳什均衡是博弈论中的一个核心概念,它描述了一个博弈中所有参与者都无法通过单方面改变自己的策略来增加收益的状态。在纳什均衡状态下,每个参与者的策略都是对其他参与者策略的最优反应。纳什均衡的公式可以表示…...
计算机网络面试题2
WebSocket相关知识 什么是WebSocket? WebSocket是一种基于TCP连接的全双工通信协议,即客户端和服务器可以同时发送和接收数据 WebSocket和HTTP有什么区别? 1.WebSocket是双向通信协议,HTTP是单向通信协议 2.WebSocket使用ws://或者wss:/…...
Linux网络——深入理解传入层协议TCP
目录 一、前导知识 1.1 TCP协议段格式 1.2 TCP全双工本质 二、三次握手 2.1 标记位 2.2 三次握手 2.3 捎带应答 2.4 标记位 RST 三、四次挥手 3.1 标记位 FIN 四、确认应答(ACK)机制 五、超时重传机制 六 TCP 流量控制 6.1 16位窗口大小 6.2 标记位 PSH 6.3 标记…...
快速搞定分布式RabbitMQ---RabbitMQ进阶与实战
本篇内容是本人精心整理;主要讲述RabbitMQ的核心特性;RabbitMQ的环境搭建与控制台的详解;RabbitMQ的核心API;RabbitMQ的高级特性;RabbitMQ集群的搭建;还会做RabbitMQ和Springboot的整合;内容会比较多&#…...
5万字长文吃透快手大数据面试题及参考答案(持续更新)
目录 Flink为什么用aggregate()不用process() 为什么使用aggregate() 为什么不用process() 自定义UDF, UDTF实现步骤,有哪些方法?UDTF中的ObjectInspector了解吗? 自定义UDF实现步骤 自定义UDTF实现步骤 UDTF中的ObjectInspector Spark Streaming和Flink的区别 Flu…...
WordPress原创插件:启用关闭经典编辑器和小工具
WordPress原创插件:启用关闭经典编辑器和小工具 主要功能 如图所示,用于启用或禁用经典编辑器和经典小工具,以替代Gutenberg编辑器。 插件下载 https://download.csdn.net/download/huayula/89592822...
萝卜快跑:自动驾驶的先锋与挑战
萝卜快跑:自动驾驶的先锋与挑战 萝卜快跑作为自动驾驶领域的重要参与者,被视为自动驾驶的先锋。它代表了自动驾驶技术在实际应用中的重要突破,为人们的出行方式带来了革新。萝卜快跑的发展展示了自动驾驶技术的巨大潜力,如提高交通…...
得到xml所有label 名字和数量 get_xml_lab.py,get_json_lab.py
import os import xml.etree.ElementTree as ETrootdir2 r"F:\images3\xmls" file_list os.listdir(rootdir2) # 列出文件夹下所有的目录与文件# 初始化字典 classes_dict {}for file_name in file_list:path os.path.join(rootdir2, file_name)if os.path.isfi…...
数据结构算法-排序(二)
插入排序 插入排序核心 假设数组中的一部数据已经排好序,要插入的数据和这些数据进行比较,直到找到合适的位置插入新数据。 插入排序步骤 插入排序主要有以下步骤构成: 假设有序,我们假设**a[0]**已经排好序待插入的数据为a[j]…...
Linux安装与配置
下载VMware 首先我们需要下载一个叫VMware的软件: 进入官方下载,地址:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html选择与自己电脑版本适配的VMware版本【 输入许可证密钥 MC60H-DWHD5-H80U9-6V85…...
HoYo-Glyphs:11款米哈游架空文字字体,免费开启你的游戏世界创作之旅
HoYo-Glyphs:11款米哈游架空文字字体,免费开启你的游戏世界创作之旅 【免费下载链接】HoYo-Glyphs Constructed scripts by HoYoverse 米哈游的架空文字 项目地址: https://gitcode.com/gh_mirrors/ho/HoYo-Glyphs 你是否曾幻想过用《原神》中蒙德…...
六自由度工业机器人设计【说明书(论文)+CAD图纸+SolidWorks三维图+任务书+开题报告】
六自由度工业机器人作为现代自动化领域的核心装备,其设计需兼顾机械结构、运动控制与系统集成等多维度技术要求。该类机器人通过六个独立旋转轴的协同运动,可实现末端执行器在三维空间内的灵活定位与姿态调整,广泛应用于焊接、装配、搬运等工…...
如何用5个步骤构建企业级智能SQL工具?自然语言转SQL全攻略
如何用5个步骤构建企业级智能SQL工具?自然语言转SQL全攻略 【免费下载链接】sqlcoder SoTA LLM for converting natural language questions to SQL queries 项目地址: https://gitcode.com/gh_mirrors/sq/sqlcoder 在数据驱动决策的时代,自然语言…...
Qwen3-14B镜像深度解析:内置权重+FlashAttention-2+PyTorch 2.4优化
Qwen3-14B镜像深度解析:内置权重FlashAttention-2PyTorch 2.4优化 1. 镜像概述与核心优势 Qwen3-14B私有部署镜像是专为RTX 4090D 24GB显存环境优化的开箱即用解决方案。这个镜像最大的特点是将模型权重、运行环境和优化组件全部预装完成,用户无需处理…...
Adobe-GenP: 实现Adobe CC全版本破解的自动化补丁解决方案
Adobe-GenP: 实现Adobe CC全版本破解的自动化补丁解决方案 【免费下载链接】Adobe-GenP Adobe CC 2019/2020/2021/2022/2023 GenP Universal Patch 3.0 项目地址: https://gitcode.com/gh_mirrors/ad/Adobe-GenP Adobe Creative Cloud系列软件作为创意行业的标准工具&am…...
终极图像纹理合成工具:GIMP Resynthesizer 完整使用指南
终极图像纹理合成工具:GIMP Resynthesizer 完整使用指南 【免费下载链接】resynthesizer Suite of gimp plugins for texture synthesis 项目地址: https://gitcode.com/gh_mirrors/re/resynthesizer GIMP Resynthesizer 是一套功能强大的 GIMP 纹理合成插件…...
3分钟掌握Umi-OCR:让文字识别变得如此简单的免费离线工具
3分钟掌握Umi-OCR:让文字识别变得如此简单的免费离线工具 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。内置多国…...
零基础友好:借助快马生成的指导项目轻松完成anaconda安装与初体验
最近在学Python数据分析,被各种环境配置搞得头大。朋友推荐用Anaconda管理环境,但光是安装就卡了半天。后来在InsCode(快马)平台发现了个神器项目,像有个老师手把手教操作,分享下我的学习过程: 为什么选择Anaconda 刚开…...
从开发到SRE:PyTorch 3.0静态图生产部署必须签署的4份SLA协议,及对应可观测性埋点清单
第一章:PyTorch 3.0静态图分布式训练生产部署全景概览PyTorch 3.0 引入原生静态图编译能力(TorchDynamo Inductor 后端深度集成),结合 torch.distributed 的增强调度器与弹性容错机制,构建了面向大规模集群的端到端生…...
glb模型在Cesium中发黑的机理分析
最近在将一款火箭模型(fbx模式)转换为glb(gltf)格式后,在Cesium中加载结果模型看起来全黑,经过分析发现是由于高光的折射率等级(IOR level)默认设置错误(设置为0)导致的,将其设置为0.5即可在Cesium中表现正常。 现象 现有一个fbx格…...
