日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

RabbitMQ 入门系列(11)— RabbitMQ 常用的工作模式(simple模式、work模式、publish/subscribe模式、routing模式、topic模式)

發布時間:2023/11/28 生活经验 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RabbitMQ 入门系列(11)— RabbitMQ 常用的工作模式(simple模式、work模式、publish/subscribe模式、routing模式、topic模式) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. simple 模式

simple 模式是最簡單最常用的模式

2. work 模式

work 模式有多個消費者

  1. 消息產生者將消息放入隊列。生產者系統不需知道哪一個任務執行系統在空閑,直接將任務扔到消息隊列中,空閑的系統自動爭搶。
  2. 消費者 A,消費者 B,當然可以更多,同時監聽同一個隊列,消費者共同爭搶當前的消息隊列內容,誰先拿到誰負責消費消息。

缺點:高并發情況下,會產生某一個消息被多個消費者共同消費。

應用場景:發紅包。

3. publish/subscribe 模式

publish/subscribe 模式 消息被路由投遞到多個隊列,一個消息被多個消費者獲取。

  1. X 代表交換機 rabbitMQ 內部組件,消息產生者將消息放入交換機,交換機發布訂閱把消息發送到所有消息隊列中。
  2. 消費者監聽隊列,對應消息隊列的消費者拿到消息進行消費。

相關場景:郵件群發、群聊天。

4. routing 模式

routing 模式 一個消息被多個消費者獲取,并且消息的目標隊列可被生產者指定。
生產者將消息發送到交換機并指定路由 key,隊列綁定到交換機,并設定好路由規則。消費者從匹配上路由 key 的隊列里面獲取到推送的消息,即 Exchange 的 direct 類型,和 topic 類型的區別是:topic 可以模糊匹配路由 key 值。

業務場景:統一門戶和子系統交互,每個子系統對應不同的業務處理,通過路由 key 分發不同的消息到對應子系統隊列,完成消息消費。

5. topic 模式

主題交換機通過對消息的路由鍵和隊列到交換機的綁定模式之間的匹配,將消息路由給一個或多個隊列。

我們把消息投遞到 topic 交換機的時候一般需要指定一系列由點號連接單詞的字符串的 routingKey,同時我們在綁定消息隊列和交換機的時候也需要指定一系列由點號連接單詞的字符串的 routingKey。

topic 模式,一個消息被多個消費者獲取,消息的目標 queue 可用 BindKey 以通配符

  • * 可以(只能)匹配一個單詞
  • # 可以匹配多個單詞(或者零個)

的方式指定。

注意:與路由模式的區別就是路由 key 可以是通配符,模糊匹配。交換機類型為 topic。


*.orange.* 的路由規則只能匹配由3個單詞組成,并且中間的單詞是 orange
*.*.rabbit 的路由規則只能匹配由3個單詞組成,并且最后的單詞是 rabbit
lazy.# 的路由規則沒有詞數限制,但是要求首單詞必須是 lazy

總結

以上是生活随笔為你收集整理的RabbitMQ 入门系列(11)— RabbitMQ 常用的工作模式(simple模式、work模式、publish/subscribe模式、routing模式、topic模式)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。