说说RabbitMQ的基本架构

RabbitMQ的架构有以下6个关键组件:

Producer 生产者 主要负责生产消息并发送给RabbitMQ
Exchange 交换机 生产者发过来的消息并不是直接投进队列,而是 交给Exchange,让Exchange根据消息中的Routing Key来决定把它扔进哪个队列
Queue 队列 这是消息最终存放的地方,在这里等待被取走
Binding 绑定 把Exchange和Queue连接起来,告诉交换机这个消息需要扔进哪个队列
Consumer 消费者 从Queue中取出消息并处理
Virtual Host 虚拟主机 VHost之间是完全隔离的,互不影响,通常用于区分不同的业务线

如果把RabbitMQ比作快递物流系统,那么6个关键组件分别对应的角色如下:

生产者发件人交换机快递分拣中心队列 就是快递仓库绑定 就是分拣规则表消费者 就是收件人虚拟主机 就是快递分公司

注意⚠️:

一个消息可以被拷贝到多个Queue,但是一个队列里的消息只能被消费一次。

相关推荐
这个DBA有点耶1 小时前
从DBA到数据架构师(五):数据架构演进中的技术债务管理
数据库·程序人生·云原生·架构·dba·数据库管理员
沪上企服通2 小时前
高端财税的技术切面:从“可审计级旧账重建“看企业税务合规中台的架构演进
架构
dogstarhuang2 小时前
大模型 API 停服怎么办:用 API 网关实现多模型统一接入与可切换架构
人工智能·后端·架构·大模型·api·数字化转型·ai应用
过江龙8474 小时前
Java架构师的AI转型之路(中):Agent与编排体系实战
架构
ziyun6668884 小时前
Docker 容器化 Web 服务架构搭建与自动化运维项目
运维·docker·架构
技术传感器4 小时前
让 Hermes 自动完成一个软件需求:从 Issue 到 PR 的 AI 开发流水线
人工智能·架构·aigc·需求分析·issue
Rain的Java大神之路5 小时前
线上接口负载满了如何解决
java·数据库·redis·后端·缓存·面试·架构
霸道流氓气质5 小时前
微服务架构中多实例消息抢占问题:技术解析与解决方案
微服务·云原生·架构
Dr.kangder5 小时前
嵌入式面试总结(十八)——JTAG调试
嵌入式硬件·面试·职场和发展·架构·嵌入式
奈斯先生Vector6 小时前
AI 视频不是会动的图片:用 Shot Contract、时间码与音画质检构建可交付流水线
人工智能·重构·架构·prompt·aigc·音视频