文章目录
- 一:direct-直投交换机
- 二:fanout-扇出交换机
- 三:Headers-请求头交换机
- 四:topic-主题交换机
一:direct-直投交换机
0.0: 说明 — 只有队列和交换机绑定,且routing key路由键一致才会收到消息
1.1: 先后创建两个队列
1.2: 队列绑定Direct交换机,和routing key
1.3: 未指明路由键:
向交换机中发送消息,未指明路由键,队列里是没有消息的
1.4: 指明路由键
1.5: 两个队列绑定一个交换机并发送消息
1.6: 解绑一个队列
只有routingkey一致的队列才会收到消息
二:fanout-扇出交换机
2.1:创建Fanout交换机
2.1:创建多个Fanout队列
2.1.1 :其中部分队列绑定Fanout交换机
点击
2.1.2 :向Fanout交换机发送消息
2.1.3 :队列三没有绑定交换机,没有收到消息
2.3:总结— 只要队列绑定了Fanout交换机,不论是否有路由键,队列都会收到消息
三:Headers-请求头交换机
3.1:创建Header交换机
3.2:创建队列 — 绑定Header交换机
3.2.1 :队列绑定Header交换机,指名 Args参数 x-match = all OR any
3.2.1.1 :创建header-queue-four队列Args参数
header-one: header-one
header-two: header-two
x-match: any
3.2.1.2 :创建header-queue-one队列Args参数
x-match: all
3.2.1.3 :创建header-queue-three队列Args参数
header-one: header-one
header-two: header-two
x-match: all
3.2.1.4 :创建header-queue-two队列Args参数
x-match: any
3.3:向交换机发送消息,携带Args参数
3.3.1:查看header-exchange-one交换机:Args = x-match: all
结果:Args = x-match: all ==》 查出了所有内容
3.3.2:查看header-exchange-two交换机:Args = x-match: any
结果:Args = x-match: 只有一个参数 any ==》 查不出任何数据
3.3.3:查看header-exchange-three交换机:x-match: all + 多参数
header-one: header-one
header-two: header-two
x-match: all
结果:Args = x-match: all + 多参数 ==》 查出除all求他请求参数完全匹配,不能只有一个对应了Exchange中多参数中的一个
3.3.4:查看header-exchange-four交换机:Args = x-match: any+ 多参数
header-one: header-one
header-two: header-two
x-match: any