29. RabbitMQ队列模型
1. 前言
因为生产环境存在不同的消息分发要求,例如对于注册流程,同一条注册消息需要发送到短信模块和邮箱模块,而对于请求削峰场景,同一条消息只需要发送到业务服务后端即可。我们可以通过配置 RabbitMQ 工作模式来决定发送单个队列还是多个队列,以及配置特定的路由规则。
2. RabbitMQ 工作模式
面试官提问:RabbitMQ 有哪些发布订阅模式?有什么区别?
题目解析:
这里主要考察候选人对消息队列不同发布/订阅架构模型的了解程度,我们首先给出RabbitMQ队列模型中不同模块的定义:
- 生产者(Producer):发送消息到队列的模块;
- 队列(Queue):存储消息的一段空间,作为消息的缓存模块;
- 消费者(Consumer):从队列中接受消息的模块;
- 交换机(Exchange):消息不直接发到队列,首先发