简述RabbitMQ的架构设计

news/2024/5/6 12:36:39/文章来源:https://blog.csdn.net/m0_70734549/article/details/128112596

Broker:

        rabbitmq的服务节点

Queue:

        队列,是RabbitMQ的内部对象,⽤于存储消息。RabbitMQ中消息只能存储在队列中。⽣产者投递消息到队列,消费者从队列中获取消息并消费。多个消费者可以订阅同⼀个队列,这时队列中的消息会被平均分摊(轮询)给多个消费者进⾏消费,⽽不是每个消费者都收到所有的消息进⾏消费。(注意:RabbitMQ不⽀持队列层⾯的⼴播消费,如果需要⼴播消费,可以采⽤⼀个交换器通过路由Key绑定多个队列,由多个消费者来订阅这些队列的⽅式

Exchange:

        交换器。⽣产者将消息发送到Exchange,由交换器将消息路由到⼀个或多个队列中。如果路由不到,或返回给⽣产者,或直接丢弃,或做其它处理。

RoutingKey:

        路由Key⽣产者将消息发送给交换器的时候,⼀般会指定⼀个RoutingKey,⽤来指定
这个消息的路由规则。这个路由Key需要与交换器类型和绑定键(BindingKey)联合使⽤才能最终⽣效。在交换器类型和绑定键固定的情况下,⽣产者可以在发送消息给交换器时通过指定RoutingKey来决定消息流向哪⾥。

Binding:

        通过绑定将交换器和队列关联起来,在绑定的时候⼀般会指定⼀个绑定键,这样RabbitMQ就可以指定如何正确的路由到队列了。

        交换器和队列实际上是多对多关系。就像关系数据库中的两张表。他们通过BindingKey做关联(多对多关系表)。在投递消息时,可以通过ExchangeRoutingKey(对应BindingKey)就可以找到相对应的队列。

信道:

        信道是建⽴在Connection 之上的虚拟连接。当应⽤程序与Rabbit Broker建⽴TCP连接的时候,客户端紧接着可以创建⼀个AMQP 信道(Channel) ,每个信道都会被指派⼀个唯⼀的ID。RabbitMQ 处理的每条AMQP 指令都是通过信道完成的。信道就像电缆⾥的光纤束。⼀条电缆内含有许多光纤束,允许所有的连接通过多条光线束进⾏传输和接收

 

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】shell命令行简单解释器

回顾一下,我们前面学习了进程创建,进程终止,进程等待,进程替换,通过这些内容我们可以来进行实现简单的shell命令行解释器!!!下面我们直接来看一看如何去实现shell命令行解释器&#…

[附源码]Python计算机毕业设计SSM临港新片区招商引资项目管理系统的设计与实现(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

嫦娥五号探测器详细介绍

嫦娥五号(Change 5),即嫦娥五号探测器,是由中国空间技术研究院研制的中国首个实施无人月面取样返回的航天器,是完成中国探月工程重大科技专项“绕、落、回”三步走发展战略最后一步的关键任务。 中国探月工程三步走 嫦…

cisco asa学习笔记

cisco asa学习笔记一、网络模拟实验中的问题调试记录1、ASA自身接口地址ping不通(从远端路由过来的主机)2、同安全级别的接口默认不能通信&#xff0c;怎么才能通信&#xff1f;3、一个asa连接3个路由器&#xff0c;互联互通解决方案<1>方案1 全局开启policy-map inspect…

算法竞赛入门【码蹄集进阶塔335题】(MT2281-2285)

算法竞赛入门【码蹄集进阶塔335题】(MT2281-2285&#xff09; 文章目录算法竞赛入门【码蹄集进阶塔335题】(MT2281-2285&#xff09;前言为什么突然想学算法了&#xff1f;为什么选择码蹄集作为刷题软件&#xff1f;目录1. MT2281 另一种模2. MT2282 小码哥的认可3. MT2283 整数…

影响工业产品设计的主要因素

设计师对工业产品的产品外观设计主要依靠形状、图案和颜色的结合&#xff0c;创造出具有一定功能性质的新产品。在这个过程中&#xff0c;设计师需要充分利用各种因素&#xff0c;外观工业设计公司强调材料的机制和颜色。那么&#xff0c;影响产品设计的主要因素是什么呢? 一、…

【Linux】8.0 多线程

文章目录1.0 Linux线程概念1.1 Linux线程基本概念1.2 Linux线程优劣介绍2.0 Linux线程控制2.1 pthread_create(创建线程)2.2 pthread_join(线程等待)2.3 pthread_exit(线程终止)2.4 pthread_detach(线程分离)3.0 线程id和LWP的关系4.0 Linux线程互斥4.1 线程互斥相关概念4.2 线…

spring-boot-starter-data-redis 引发的一系列惨案

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency> pom 引入jar包 &#xff0c;如果redis配置文件使用 lettuce &#xff0c;还需要引入 commons-pool2 &a…

数据可视化,销量第一的新能源汽车是什么?比亚迪新能源汽车销量接近60万辆

去年以来&#xff0c;新能源汽车火热度席卷全球&#xff0c;中国的新能源汽车无论制造或者销售&#xff0c;数量增长迅猛。下面小编用一款数据可视化软件&#xff0c;带你用可视化数据解读高端制造背后&#xff0c;中国新能源汽车的具体销售情况。同样如果你工作上有数据报表需…

固话号码认证有什么好处?固话号码认证有什么作用?

固话号码认证为企业提供号码认证服务&#xff0c;在来电时显示企业信息&#xff0c;可提高电话号码辨识度&#xff0c;防止错误标记&#xff0c;确保展现的企业信息与企业的手机终端、APP等多平台展示信息一致&#xff0c;保证品牌企业的身份及商业价值。 那如何上线号码认证服…

多点DMALL × Apache Kyuubi:构建统一SQL Proxy探索实践

伴随着国家产业升级的推进和云原生技术成熟&#xff0c;多点 DMALL 大数据技术也经历了从存算一体到存算分离的架构调整变迁。本文将从引入 Kyuubi 实现统一 SQL Proxy 的角度讲述这一探索实践的历程。 多点 DMALL 成立于2015年&#xff0c;提供一站式全渠道数字零售解决方案 D…

离线解锁 CodeCombat 全关卡教程 使用docker安装实现

背景 暂时还没收入&#xff0c;想玩顺便&#xff0c;但官方的有点贵&#xff08;是真的贵&#xff0c;扛不住&#xff09; 前期准备 下载安装docker desktop https://www.123pan.com/s/fmvUVv-HqApH&#xff0c; 这个安装不会的随便搜一个教程&#xff0c;挺多的。我随便找了一…

HTML篇_二、HTML简介_HTML入门必修第一课

HTML篇_二、HTML简介 一、HTML的基本结构 1.1 HTML的基本结构及解析 基本结构 这里我们先放一段代码块来进行展示&#xff0c;感受一下来自HTML的魅力。然后下文再对这段代码块进行解析。 <!DOCTYPE html> <html><head><meta charset"utf-8&quo…

使用自己的数据集测试Unbiased Mean Teacher for Cross-domain Object Detection

要复现Unbiased Mean Teacher for Cross-domain Object Detection&#xff08;UMT&#xff09;&#xff0c;首先要正确运行CycleGAN。 1. CycleGAN CycleGAN的github链接&#xff1a;https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix 1.1 CycleGAN环境配置 git cl…

[附源码]SSM计算机毕业设计学生宿舍设备报修JAVA

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

板卡测评 | 基于TI AM5708开发板——ARM+DSP多核异构开发案例分享

本次测评板卡是创龙科技旗下的TL570x-EVM,它是一款基于TI Sitara系列AM5708ARM Cortex-A15+浮点DSPC66x处理器设计的异构多核SOC评估板,由核心板和评估底板组成。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。 评估板接口资源丰富,引出…

函数定义、this指向、闭包等

1、函数的定义和调用 1.1函数的定义方式 1、自定义函数&#xff08;命名函数&#xff09; 2、函数表达式&#xff08;匿名函数&#xff09; 3、利用 new Function (‘参数1’, ‘参数2’, ‘函数体’) 1、自定义函数&#xff08;命名函数&#xff09; function fn() {}2、函…

jsp196ssm毕业设计选题管理系统hsg4361B6

本系统选用Windows作为服务器端的操作系统&#xff0c;开发语言选用Java&#xff0c;数据库选用Mysql&#xff0c;使用mybatis数据库连接技术&#xff0c;使用Myeclipse作为系统应用程序的开发工具&#xff0c;Web服务器选用Tomcat版本。 下面分别简单阐述一下这几个功能模块需…

外汇天眼:经济衰退无阻加息,欧美货币政策齐收紧

美联储和欧洲央行官员在近两日发表讲话&#xff0c;先后释放进一步加息信号&#xff0c;美股、欧股事后均收跌&#xff0c;市场预计美元、欧元近期将下跌。 通胀仍高于目标&#xff0c;两大央行将进一步加息 除了非农报告等关键通胀数据&#xff0c;本周央行动态同样备受市场关…

[附源码]Python计算机毕业设计SSM流浪动物管理系统(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…