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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

rabbitmq多个消费者监听一个队列_RabbitMQ的六种工作模式

發布時間:2023/12/19 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 rabbitmq多个消费者监听一个队列_RabbitMQ的六种工作模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.基于erlang語言:是一種支持高并發的語言

RabbitMQ的六種工作模式:
1.1 simple簡單模式

  • 消息產生著§將消息放入隊列

  • 消息的消費者(consumer) 監聽(while) 消息隊列,如果隊列中有消息,就消費掉,消息被拿走后,自動從隊列中刪除(隱患 消息可能沒有被消費者正確處理,已經從隊列中消失了,造成消息的丟失)應用場景:聊天(中間有一個過度的服務器;p端,c端)

  • 1.2 work工作模式(資源的競爭)

  • 消息產生者將消息放入隊列消費者可以有多個,消費者1,消費者2,同時監聽同一個隊列,消息被消費?C1 C2共同爭搶當前的消息隊列內容,誰先拿到誰負責消費消息(隱患,高并發情況下,默認會產生某一個消息被多個消費者共同使用,可以設置一個開關(syncronize,與同步鎖的性能不一樣) 保證一條消息只能被一個消費者使用)

  • 應用場景:紅包;大項目中的資源調度(任務分配系統不需知道哪一個任務執行系統在空閑,直接將任務扔到消息隊列中,空閑的系統自動爭搶)

  • 1.3 publish/subscribe發布訂閱(共享資源)

  • X代表交換機rabbitMQ內部組件,erlang 消息產生者是代碼完成,代碼的執行效率不高,消息產生者將消息放入交換機,交換機發布訂閱把消息發送到所有消息隊列中,對應消息隊列的消費者拿到消息進行消費

  • 相關場景:郵件群發,群聊天,廣播(廣告)

  • 1.4 routing路由模式

  • 消息生產者將消息發送給交換機按照路由判斷,路由是字符串(info) 當前產生的消息攜帶路由字符(對象的方法),交換機根據路由的key,只能匹配上路由key對應的消息隊列,對應的消費者才能消費消息;

  • 根據業務功能定義路由字符串

  • 從系統的代碼邏輯中獲取對應的功能字符串,將消息任務扔到對應的隊列中業務場景:error 通知;EXCEPTION;錯誤通知的功能;傳統意義的錯誤通知;客戶通知;利用key路由,可以將程序中的錯誤封裝成消息傳入到消息隊列中,開發者可以自定義消費者,實時接收錯誤;

  • 1.5 topic 主題模式(路由模式的一種)

  • 星號井號代表通配符

  • 星號代表多個單詞,井號代表一個單詞

  • 路由功能添加模糊匹配

  • 消息產生者產生消息,把消息交給交換機

  • 交換機根據key的規則模糊匹配到對應的隊列,由隊列的監聽消費者接收消息消費

  • 總結

    以上是生活随笔為你收集整理的rabbitmq多个消费者监听一个队列_RabbitMQ的六种工作模式的全部內容,希望文章能夠幫你解決所遇到的問題。

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