RabbitMQ學習系列教程六:Fanout Exchange的使用

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—綁定java

相關文章
相關標籤/搜索