说说RabbitMQ的基本架构

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

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

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

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

注意⚠️:

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

相关推荐
贵慜_Derek1 天前
《从零实现 Agent 系统》连载 32|闭集 IE 与小模型:分类、意图与字段抽取
人工智能·架构·agent
江米小枣tonylua1 天前
译:设计生产级 RAG 架构
架构
怕浪猫2 天前
领域特定语言(Domain-Specific Language, DSL)
设计模式·程序员·架构
怕浪猫2 天前
哪些软件对 Chrome DevTools Protocol 频繁使用
人工智能·架构·前端框架
Jack202 天前
HarmonyOS APP事件驱动大揭秘
架构
Colin草率地做慢慢地改2 天前
关于QuickStore这个项目的重构(2)- 数据库建表文件
后端·面试·架构
candyTong2 天前
RTK 技术原理:一次典型会话里,80% 上下文是怎么省下来的
javascript·后端·架构
唐某人丶3 天前
从画架构图开始:架构分析与进阶指南
架构
只会cv的前端攻城狮4 天前
DSL 领域模型架构设计:消灭 CRUD 重复工作
前端·架构