RabbitMQ 核心组件

2026-06-03 178 0

RabbitMQ 架构流程图

RabbitMQ 架构流程图:生产者 → 交换机 → 队列 → 消费者


一、6 大核心组件(必背)

1. Producer(生产者)

发送消息的一方
例:订单服务、支付服务

2. Consumer(消费者)

接收并处理消息的一方
例:库存服务、短信服务

3. Queue(队列)

真正存储消息的地方
持久化、排序、等待被消费
特点:先进先出 FIFO

4. Exchange(交换机)—— 核心!

消息路由中转站
生产者不直接发队列,先发给交换机
根据路由规则转发到对应队列

5. RoutingKey(路由键)

生产者发消息时带的 key
交换机根据它匹配队列

6. Binding(绑定)

交换机 + 队列 + BindingKey 的绑定关系
决定消息去哪


二、交换机 4 种类型(高频考点)

1. direct(直连模式)

RoutingKey 完全匹配
一对一精准发送

2. topic(主题模式)

通配符匹配
user.# 匹配 user.add、user.delete 等

3. fanout(广播模式)

无视 RoutingKey
发给所有绑定队列

4. headers(头信息模式)

很少用,根据消息头匹配


三、消息完整流转流程

  1. 生产者创建消息,指定 RoutingKey
  2. 消息发送到 交换机
  3. 交换机根据 绑定规则 路由到队列
  4. 消息存在队列里等待
  5. 消费者监听并消费消息

四、深挖加分

1. 交换机和队列的关系?

多对多
一个交换机可绑定多个队列
一个队列可被多个交换机绑定

2. 为什么要有交换机?

灵活路由!
支持广播、主题、定向分发
解耦生产者和队列

3. 消息如何保证不丢失?

生产者确认 + 队列持久化 + 消费者手动ACK


10 秒速记

✅ 生产者发消息
✅ 交换机做路由(4种类型)
✅ 队列存消息
✅ 消费者监听处理
✅ 核心:生产者 → 交换机 → 队列 → 消费者

相关文章

消息队列&RabbitMQ

发布评论