ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

RabbitMQ学习系列教程六:Fanout Exchange的使用

2021-01-08 21:52:56  阅读:212  来源: 互联网

标签:routingkey Exchange 生产者 绑定 RabbitMQ 交换机 Fanout


RabbitMQ学习系列教程六:Fanout Exchange的使用

凯哥java 凯哥java
Fanout Exchange:
不处理路由键,只需要简单的将队列绑定到交换机上。
发送到交换机的消息都会被转发到该交换机绑定的所有队列上
Fanout交换机转发消息是最快的。
Fanout Exchange交换机可以简单的理解为广播站。
上面几句话,在生活中有个很常见的示例:在大学中,我们知道每天都会有广播站放出美妙的音乐。广播站是面向全校所有师生的,所有它的消息转发的是最快的。
运行示意图:
RabbitMQ学习系列教程六:Fanout Exchange的使用
代码演示:
生产者:
RabbitMQ学习系列教程六:Fanout Exchange的使用
在生产者,我们只是声明了交换机名称。不用声明routingkey的值。
接下来我们来看看消费者端代码:
RabbitMQ学习系列教程六:Fanout Exchange的使用
在消费者端代码中,我们同样没有设置routingkey的值。
启动查看:
先启动consumer端,到页面中查看queues列表:
RabbitMQ学习系列教程六:Fanout Exchange的使用
点击进去查看绑定的交换机:
RabbitMQ学习系列教程六:Fanout Exchange的使用
其中 routingkey是空的。
我们启动生产者,看看:
启动生产者之后,消费者获取到信息:
RabbitMQ学习系列教程六:Fanout Exchange的使用
生产者发送消息及绑定的队列:
RabbitMQ学习系列教程六:Fanout Exchange的使用
我们发现,生产者的routingkey也是空。
问题:是不是因为我们在代码中没有设置routingkey 所有不会有?
那么我们修改代码:
修改生产者的routingkey:
RabbitMQ学习系列教程六:Fanout Exchange的使用
消费者的routingkey依然为空:
RabbitMQ学习系列教程六:Fanout Exchange的使用
在页面中查看:
Queues:
RabbitMQ学习系列教程六:Fanout Exchange的使用
Exchange:
RabbitMQ学习系列教程六:Fanout Exchange的使用
我们发现,就算我们修改了生产者的routingkey,页面上依然是空的。
启动生产者和消费者。查看消费者是否消费了:
RabbitMQ学习系列教程六:Fanout Exchange的使用
消费成功。说明,fanout类型的交换机和routingkey无关。正是因为和routingkey无关。所以这种方式是最高效的。
下节预告:下一节,我们将讲解rabbitmq的另外一个概念:Bingding—绑定

标签:routingkey,Exchange,生产者,绑定,RabbitMQ,交换机,Fanout
来源: https://blog.51cto.com/15076218/2585750

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有