RabbitMQ 的三種類型的交換器

RabbitMQ 的三種類型的交換器

RabbitMQ 使用 Exchange(交換機)和 Queue(隊列)來實現消息隊列。

在 RabbitMQ 中一共有三種交換機類型,每一種交換機類型都有很鮮明的特徵。

基於這三種交換機類型,OpenStack 完成兩種 RPC 的調用方式。首先簡單介紹三種交換機。
rabbitMQ 架構圖
①廣播式交換器類型(Fanout)

該類交換器不分析所接收到消息中的 Routing Key,默認將消息轉發到所有與該交換器綁定的隊列中去。
在這裏插入圖片描述
②直接式交換器類型(Direct)

該類交換器需要精確匹配 Routing Key 與 Binding Key,如消息的 Routing Key = Cloud,那麼該條消息只能被轉發至 Binding Key = Cloud 的消息隊列中去。
在這裏插入圖片描述
③主題式交換器(Topic Exchange)

該類交換器通過消息的 Routing Key 與 Binding Key 的模式匹配,將消息轉發至所有符合綁定規則的隊列中。

Binding Key 支持通配符,其中“*”匹配一個詞組,“#”匹配多個詞組(包括零個)。
在這裏插入圖片描述
eg:當生產者發送消息 Routing Key=F.C.E 的時候,這時候只滿足 Queue1,所以會被路由到 Queue 中。

如果 Routing Key=A.C.E 這時候會被同時路由到 Queue1 和 Queue2 中,如果 Routing Key=A.F.B 時,這裏只會發送一條消息到 Queue2 中。

注:以上四張圖片來自博客園,如有侵權,請聯繫作者:https://www.cnblogs.com/dwlsxj/p/RabbitMQ.html。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章