RabbitMQ基本概念

news2024/11/16 10:16:42

RabbitMQ是AMQP协议的一个开源实现,所以其基本概念也就是的 AMQP 协
议中的基本概念。如图3-1所示是 RabbitMQ 的整体架构图。

Message(消息):消息是不具名的,它由消息头和消息体组成。消息体是不透明的,
而消息头则由一系列可选属性组成,这些属性包括routing-key(路由键)、priority(相
对于其他消息的优先级)、delivery-mode(指出该消息可能需要持久化存储)等。
Publisher(消息生产者):一个向交换器发布消息的客户端应用程序。
Exchange(交换器):用来接收生产者发送的消息,并将这些消息路由给服务器中的队
列。
Binding(绑定):用于消息队列和交换器之间的关联。一个绑定就是基于路由键将交
换器和消息队列连接起来的路由规则,所以可以将交换器理解成一个由绑定构成的路
由表。
Queue(消息队列):用来保存消息直到发送给消费者。它是消息的容器,也是消息的
终点。一条消息可被投入一个或多个队列中。消息一直在队列里面,等待消费者连接
到这个队列将其取走。
Connection(网络连接):比如一个TCP连接。

Channel(信道):多路复用连接中的一条独立的双向数据流通道。信道是建立在真实
的 TCP连接内的虚拟连接,AMOP命令都是通过信道发送出去的,不管是发布消息、
订阅队列还是接收消息,这些动作都是通过信道完成的。因为对于操作系统来说,建
立和销毁 TCP连接都是非常昂贵的开销,所以引入了信道的概念,以复用一个TCP
连接。
Consumer(消息消费者):表示一个从消息队列中取得消息的客户端应用程序。
Virtual Host(虚拟主机,在 RabbitMO中叫 vhost):表示一批交换器、消息队列和相关
对象。虚拟主机是共享相同的身份认证和加密环境的独立服务器域。本质上每个vhost
就是一台缩小版的 RabbitMQ 服务器,它拥有自己的队列、交换器、绑定和权限机制。
vhost是 AMOP 概念的基础,必须在连接时指定,RabbitMO 默认的 vhost是“/”
Broker:表示消息队列服务器实体。

交换器的类型

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1869505.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ROS1通信机制——以topic为例

ROS1 的通信机制 ROS1是一个分布式框架,为用户提供多节点(进程)之间的通信服务。 ROS1通信时有一个中心节点(ROS Master),进行信息匹配等工作。 ROS1 的话题通信机制 通信链接:XML/RPC 信息传…

GMSB文章六:微生物SCFA关联分析

欢迎大家关注全网生信学习者系列: WX公zhong号:生信学习者Xiao hong书:生信学习者知hu:生信学习者CDSN:生信学习者2 介绍 微生物短链脂肪酸(SCFAs)是由肠道微生物发酵膳食纤维、抗性淀粉、低…

蒸汽架空管道中的关键守护者:滑动管托、导向管托与固定管托

蒸汽架空管道中的关键守护者:滑动管托、导向管托、固定管托与补偿器的重要角色在蒸汽架空管道系统中,每一个组件都扮演着不可或缺的角色,共同确保管道的安全、高效运行。今天,我们就来深入探讨滑动管托、导向管托、固定管托以及补…

信息安全时代,大学生是否有必要考取NISP证书?

在数字化浪潮席卷全球的今天,信息安全已成为国家、企业乃至个人都必须正视的重要议题。作为新时代的大学生,我们身处这个信息爆炸的时代,如何提升自己的信息安全素养,成为了一个值得深思的问题。而NISP(国家信息安全水平考试)证书…

单例模式(下)

文章目录 文章介绍步骤安排及单例讲解step1:注册单例类型(main.cpp)step2:定义类和私有构造函数(keyboardinputmanager.h)step3:(keyboardinputmanager.cpp)step4:在qml中…

云端智慧,赋能风电场:工业级控制系统云监控网关

风力发电场监控平台实现对风电场的运行状态和风机的实时数据进行监测、控制和管理,提高风电场的可靠性和运行效率,降低维护成本,实现智能化管理。 风机机组PLC、多功能仪表、无线测温、温度变送器、档位变送器、设备接入网关上传数据服务器。…

第1章 框架学习的基石与实战策略

第1章框架学习的基石与实战策略 1.1 框架学习的引路人:权威教程的重要性 在编程的世界里,掌握一个框架就像是装备了一套精良的工具,这不仅能显著提升开发速度,还能展现一个程序员的专业水平。对于那些刚刚踏入编程领域的初学者来…

在线开发、实时交互 | 三维天地低代码开发平台助力提高项目交付速度

1.什么是低代码开发平台? 低代码开发平台基于北京三维天地科技股份有限公司自研原生技术架构研发。三维天地作为国内知名的检验检测信息化领域软件开发服务商,拥有多项自主知识产权及自主研发核心技术,致力于为客户提供信息化整体解决方案及相关软件产品与服务。 三维天地低…

【Java面试场景题】如何优化系统架构设计来缓解流量压力提升并发性能?

一、问题解析 我会以直播互动为例,带你看看读多写多的情况下如何应对流量压力。- 一般来说,这种服务多数属于实时互动服务,因为时效性要求很高,导致很多场景下,我们无法用读缓存的方式来降低核心数据的压力。所以&…

B端系统:配置页面如何设计,这可是用户体验的关键的关键。

提升配置页面体验的十大原则 设计B端系统的配置页面时,用户体验确实是非常关键的。以下是一些设计原则和建议,可以帮助提高配置页面的用户体验: 简洁明了:配置页面应该尽量简洁明了,避免过多的复杂选项和信息。使用清…

基于先验知识引导的三域Transformer-GAN,直接从低计数正电子发射断层扫描图像重建| 文献速递-先进深度学习疾病诊断

Title 题目 Prior Knowledge-guided Triple-Domain Transformer-GAN for Direct PET Reconstruction from Low-Count Sinograms 基于先验知识引导的三域Transformer-GAN,用于直接从低计数正电子发射断层扫描图像重建 01 文献速递介绍 正电子发射断层扫描&…

动手学深度学习(Pytorch版)代码实践 -计算机视觉-38实战Kaggle比赛:图像分类 (CIFAR-10)

38实战Kaggle比赛:图像分类 (CIFAR-10) 比赛链接:CIFAR-10 - Object Recognition in Images | Kaggle 导入包 import os import glob import pandas as pd import numpy as np import torch import torchvision from torch.utils.data import Dataset…

【应届应知应会】Linux常用指令

SueWakeup 个人主页:SueWakeup 系列专栏:学习技术栈 个性签名:保留赤子之心也许是种幸运吧 本文封面由 凯楠📸友情提供 目录 文件与目录管理 目录操作命令: ls [选项] [目录或文件] mkdir 文件操作命令&#xf…

MacOS java多版本安装与管理

安装sdkman curl -s "https://get.sdkman.io" | bashsource "$HOME/.sdkman/bin/sdkman-init.sh"sdk version正常出现sdkman版本号就安装成功了 # 安装java # 安装java8 sdk install java 8.0.412.fx-zulu建议和上述一样安装 fx-zulu 的jdk&#xff0c…

谷歌SEO在外贸推广中的应用效果如何?

谷歌SEO在外贸推广中非常有效。通过优化网站,可以提高在搜索结果中的排名,这意味着更多的潜在客户会看到你的产品和服务。 一个高排名的网站能带来更多自然流量,不需要花费广告费用。这种流量通常质量较高,因为用户是主动搜索相关…

【仿真建模-anylogic】Scale解析

Author:赵志乾 Date:2024-06-27 Declaration:All Right Reserved!!! 1. 应用场景 Scale是比例尺,用于长度单位和像素之间的换算,anylogic默认为每个agent生成一个scale,…

1.iptables

iptables 防火墙iptables工作流程iptables表与链filter表nat表 防火墙 防火墙开源iptables、firewalld管理控制网络流量、封端口、封IP、nat、(snat、dnat)映射 共享上网硬件防火墙思科、华三等、深信服、路由器内置防火墙保护内部网络、检测和阻挡恶意…

ISO 50001能源管理体系:激活绿色动能和共塑可持续发展

在当今全球化加速和工业化水平不断提高的背景下,能源消费呈现出前所未有的增长趋势。然而,能源资源的有限性、能源价格的波动以及能源消费对环境造成的影响,尤其是温室气体排放导致的全球气候变化问题,已经成为全球关注的焦点。为…

C++之STL(十二)

1、容器适配器 #include <iostream> #include <stack> #include <list> #include <queue> #include <functional> #include <iterator>using namespace std;int main() {// 栈&#xff08;先进后出filo&#xff09;stack<int, list<…

Linux-笔记 嵌入式gdb远程调试

目录 前言 实现 1、内核配置 2、GDB移植 3、准备调试程序 4、开始调试 前言 gdb调试器是基于命令行的GNU项目调试器&#xff0c;通过gdb工具我们可以实现许多调试手段&#xff0c;同时gdb支持多种语言&#xff0c;兼容性很强。 在桌面 Linux 系统&#xff08;如 Ubuntu、Cent…