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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

rabbitmq 传递文件_使用RabbitMQ进行消息传递

發(fā)布時間:2023/12/3 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 rabbitmq 传递文件_使用RabbitMQ进行消息传递 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

rabbitmq 傳遞文件

RabbitMQ是一個強大的消息代理,可用于實現(xiàn)不同的消息傳遞模式。 即使有出色的教程 (使用不同的語言和框架),也很難理解這些概念。 在這篇文章中,我想展示一些可以用RabbitMQ實現(xiàn)的不同范例,以及為什么要為某些概念而苦惱。

使用隊列發(fā)送和接收

最簡單的方法是使用隊列發(fā)送消息,并讓使用者從同一隊列中讀取數(shù)據(jù)。

沒有什么可以阻止您擁有多個使用者,每個使用者都可以處理隊列中的消息。 使用完一條消息后,該消息將從隊列中消失。

當(dāng)具有需要執(zhí)行的任務(wù)并且無論哪個消費者處理任務(wù)都無關(guān)緊要時,這特別適合。

發(fā)布/訂閱

并非所有用例都只消耗一條消息的方式。 通常,您希望擁有多個應(yīng)該全部處理所有消息的使用者。 一個示例可以是將對象存儲在不同的數(shù)據(jù)存儲中(例如,搜索索引和數(shù)據(jù)庫),另一種是域事件,例如已提交并應(yīng)由訂單管理系統(tǒng)和庫存系統(tǒng)處理的訂單。 這需要一種發(fā)布/訂閱機制,RabbitMQ當(dāng)然已經(jīng)涵蓋了這一點。

與僅使用隊列相比,最大的區(qū)別是在這種情況下,生產(chǎn)者不再直接寫隊列。 一個稱為Exchange的實例將接受郵件并將其轉(zhuǎn)發(fā)到一個或多個隊列。

要使用經(jīng)典的發(fā)布/訂閱模型,您可以使用FanoutExchange將消息轉(zhuǎn)發(fā)到一個或多個隊列。 要連接交換和隊列,您需要聲明一個綁定,在這種情況下,特定交換的所有消息都應(yīng)轉(zhuǎn)發(fā)到特定隊列。

每個使用者都從專用隊列中讀取消息。 這也意味著您將需要為每個正在監(jiān)聽的使用者綁定一個綁定。

使用RabbitMQ,可以使用在使用者停止監(jiān)聽時自動刪除的隊列。 這允許消費者加入和離開時具有非常動態(tài)的行為。

看我們的第一個示例,您可能想知道為什么有不同的方式來發(fā)送消息,發(fā)送隊列和進行交換。 事實證明,發(fā)送到隊列確實是不可能的。 總是存在一個默認(rèn)交換,它僅轉(zhuǎn)發(fā)消息。 此默認(rèn)交換僅獲取消息的某個路由鍵(即隊列名稱),然后將它們以相同的名稱放入隊列中。

發(fā)布/訂閱過濾

除了將消息發(fā)送到已注冊進行交換的所有隊列之外,還可以根據(jù)路由密鑰對消息進行過濾。 所有消息都被發(fā)送到一個交換機,該交換機通過查看路由鍵來決定將消息發(fā)送到哪個隊列。

如果您想與路由鍵完全匹配,請執(zhí)行DirectExchange。

將DirectExchange綁定到隊列時,您需要提供一個路由密鑰,該路由密鑰將確定將為此隊列考慮的路由密鑰。 如果要分配多個路由鍵,則可以為同一隊列添加多個綁定。

您還可以提供通配符來確定應(yīng)將哪些路由密鑰用于隊列,這可以通過使用需要分層路由密鑰的TopicExchange來完成。

一開始,這兩個交流-直接交流和主題交流-可能最讓我感到困惑。 當(dāng)涉及到主題時,我正在考慮經(jīng)典的發(fā)布訂閱系統(tǒng),例如使用FanoutExchange時。 交換名稱是客戶端正在注冊的主題。 但是這里的主題是指在現(xiàn)有交換機上的一種路由。 與DirectExchange相同:我希望直接交換類似于第一個直接將消息發(fā)送到隊列的示例。 但是在這種情況下,直接交換是指直接路由,因此您始終需要為此提供路由密鑰。

如果您想進一步了解各種交流,請轉(zhuǎn)到RabbitMQ網(wǎng)站上的教程 。

翻譯自: https://www.javacodegeeks.com/2018/03/messaging-with-rabbitmq-2.html

rabbitmq 傳遞文件

總結(jié)

以上是生活随笔為你收集整理的rabbitmq 传递文件_使用RabbitMQ进行消息传递的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。