RabbitMQ体系结构
RabbitMQ的体系架构
1.认识RabbitMQ底层架构

这个图清晰展示了 RabbitMQ 的逻辑功能层级,可以拆分为 “外部接入层→Broker 内部隔离层→路由转发层→存储层→消费层” 这几个核心层级,每个层级对应图中的组件:
- 层级 1:外部接入层(生产者 / 消费者与 Broker 的连接层)
- 核心组件:TCP长连接(connection) + 虚拟通道(channel)
- 作用:
- 生产者 / 消费者通过TCP 长连接与 Broker 建立网络通信(图中左侧生产者、右侧消费者都通过 connection 连入 Broker);
- 每个 connection 内部创建多个channel(虚拟通道),复用 TCP 连接、降低网络开销(图中每个 connection 下有多个 channel)。
- 层级 2:Broker 内部隔离层(资源 / 权限隔离)
- 核心组件:虚拟主机(Virtual Host)
- 作用:
- 是 Broker 内部的 “命名空间”,图中 Broker 被划分为 2 个独立的 Virtual Host;
- 每个 Virtual Host 内的交换机、队列是隔离的(比如两个 Virtual Host 都有 “交换机 A”,但互不干扰),用于区分不同业务 / 用户的资源。
- 层级 3:路由转发层(消息分发)
- 核心组件:交换机(Exchange) + 绑定(Binding) + RoutingKey
- 作用:
- 生产者的消息先发送到交换机(Exchange)(图中生产者通过 channel 把消息发到 Exchange A/B);
- 交换机通过Binding(绑定关系)和RoutingKey(路由键),将消息转发到对应的队列(比如 Exchange A 通过 RoutingKey 关联队列 A)。
- 层级 4:存储层(消息暂存)
- 核心组件:队列(Queue)
- 作用:
- 是消息的最终存储载体,交换机转发的消息会落地到队列中(图中 Exchange A/B 绑定到队列 A/B);
- 队列是消费者获取消息的唯一入口。
- 层级 5:消费层(消息接收)
- 核心组件:消费者
- 作用:
- 消费者通过 channel 监听队列,从队列中获取并处理消息(图中消费者 A/B/C 通过 channel 连接到队列)。
Broker:指整个 RabbitMQ 服务实例(单个节点或集群),是 “消息代理” 的统称,包含上述所有层级(VHost、Exchange、Queue 等),负责消息的接收、存储、路由、转发。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Chu_Yu-blog!








