说说RabbitMQ的基本架构

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

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

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

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

注意⚠️:

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

相关推荐
阿拉斯攀登30 分钟前
SpringBoot核心原理:自动配置、starter、SPI机制
架构
阿拉斯攀登36 分钟前
Web核心开发:拦截器、过滤器、跨域、统一返回
架构
無a伟41 分钟前
RabbitMQ :与AMQP的关系、核心组件、交换机类型
分布式·rabbitmq
dsyuan0011 小时前
基于 Vue3 + ElementPlus 极简搭建仿钉钉流程设计器,简洁架构、极易扩展,纯div+css布局
css·架构·钉钉
隔窗听雨眠2 小时前
无辅助损失函数的负载均衡:DeepSeek MoE架构的核心突破
运维·架构·负载均衡
jyOverQ5 小时前
RabbitMQ 消息积压怎么办?Prefetch、消费者并发与扩容
分布式·后端·rabbitmq
ZGIAI11 小时前
ZGI 让那些"等你去处理"的事,真正跑起来
人工智能·架构
ZGIAI11 小时前
ZGI:别再做Agent Demo了,先问问它在业务里能不能撑过下周三
人工智能·架构
黑马程序员毕设15 小时前
基于Java的医院药品管理系统的优化设计与实现
java·开发语言·spring boot·小程序·架构·课程设计·毕设
头茬韭菜15 小时前
第 01 篇:「架构鸟瞰与进程启动链路」—— JobManager / TaskManager 从零长出来的完整调用链
架构·flink