Exchange类型的基本介绍和测试

一、RabbitMQ运行机制

Exchange类型

direct(点对点)、fanout、topic、headers(点对点,性能低下,基本用不到)。

direct Exchange:直接交换机:完全匹配、单播的模式。

当消息中的 routing key 与Binding中的 binding key完全一致,交换器就将消息发到对应队列中。

e.g.        routing key=abc   ==>  binding key=abc
                                         不能==> binding key=abc.x
                                         不能==> binding key=x.abc

fanot Exchange:发布订阅,广播模式。

每个发送到交换器的消息都会被转发到与该交换器绑定的所有队列上。

Topic Exchange:分布订阅,部分广播模式。

通过模式匹配分配消息的路由键属性,将路由键与某个模式匹配,此时队列需要绑定到一个模式上。路由键和绑定键的字符串用点隔开,其中包括单词和通配符。

通配符:# 匹配 0 个或多个单词,* 匹配一个单词。

e.g.        routing key=abc.x       ==>  binding key=abc.#
              routing key=abc.x.y    ==>
              routing key=x.abc       不能==>


              routing key=abc.efg    ==> binding key=abc.#

                                                  ==> binding key=#.efg

二、创建新交换机

 三、为交换机绑定队列

1、创建一个新队列

创建成功: 

 2、交换机绑定队列

 成功后发现:

 四、正式开始

  创建3个队列

创建交换机 

绑定4个队列

 五、Direct Exchange:发布消息和接受消息

发布消息:进入发送消息的交换机

②:输入路由键,用以匹配(选择)得到消息的队列
③:消息内容

 接受消息:进入得到消息的队列

 ③:点击Get Message(s),得到消息

 六、Fanout Exchange:发布消息和接受消息

创建Fanout Exchange

 绑定4个队列

 

Routing key设置为FirstQueue.news,发送消息

​​​​​

结果却发现全收到了消息 

 

  七、Topic Exchange:发布消息和接受消息

 创建Topic Exchange

  绑定4个队列:观察Routing key,与后面实验结果相对应

实验1

Routing key 设置为 FirstQueue.news 时: 

 Routing key 为 FirstQueue.# 和 *.news 的队列均可收到消息

 实验二

 Routing key 设置为 hello.news 时: 

 Routing key *.news 的队列可收到消息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值