```
在Fanout模式中,一条消息,会被所有订阅的队列都消费。但是,在某些场景下,我们希望不同的消息被不同的队列消
费。这时就要用到Direct类型的Exchange
```
在Direct模型下:
队列与交换机的绑定,不能是任意绑定了,而是要指定一个`RoutingKey`(路由key)
消息的发送方在 向 Exchange发送消息时,也必须指定消息的 `RoutingKey`。
Exchange不再把消息交给每一个绑定的队列,而是根据消息的`Routing Key`进行判断,只有队列的`Routingkey`与消息的 `Routing key`完全一致,才会接收到消息
![](https://box.kancloud.cn/27018462fb7a14c35b0a52932400395a_525x182.png)
图解:
- P:生产者,向Exchange发送消息,发送消息时,会指定一个routing key。
- X:Exchange(交换机),接收生产者的消息,然后把消息递交给 与routing key完全匹配的队列
- C1:消费者,其所在队列指定了需要routing key 为 error 的消息
- C2:消费者,其所在队列指定了需要routing key 为 info、error、warning 的消息
- JMS vs AMQP
- ActiveMQ
- 安装
- 简介
- 知识点
- 点对点
- 发布订阅
- 对比
- 安全认证
- 持久化
- Api
- Productor
- 发送消息
- 消息有效期
- 消息优先级
- 开启
- 严格顺序
- 强顺序
- Consumer
- 消息确认
- 消息的过滤
- 客户端
- java
- 点对点
- 生产者
- 消费者
- 发布订阅
- 生产者
- Springboot
- 配置
- QueueConfig
- 生产者
- 消费者
- 集群
- RabbitMQ
- 安装
- 主要概念
- 消息模型
- 基本消息模型
- 简介
- java
- 消费者
- 生产者
- 工具类
- work消息模型
- 简介
- java
- 消费者
- 生产者
- 订阅模型-Fanout
- 简介
- java
- 生产者
- 消费者
- 订阅模型-Direct
- 简介
- java
- 生产者
- 消费者
- 订阅模型-Topic
- 简介
- java
- 生产者
- 消费者
- 持久化
- Spring-AMQP
- 消费者
- 生产者