国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

RabbitMQ交換機(jī)類型

這篇具有很好參考價值的文章主要介紹了RabbitMQ交換機(jī)類型。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

先附加下官網(wǎng)文檔。RabbitMQ的交換機(jī)類型共有四種,是根據(jù)其路由過程的不同而劃分成的:

一、Direct Exchange(直連交換機(jī))

RabbitMQ交換機(jī)類型
直連型交換機(jī)背后的路由算法很簡單——消息會傳送給綁定鍵與消息的路由鍵完全匹配的那個隊列。 我們用直連交換機(jī)取代了只會無腦廣播的扇形交換機(jī),并且具備了選擇性接收消息的能力。

這種配置下,我們可以看到有兩個隊列Q1、Q2綁定到了直連交換機(jī)X上。第一個隊列用的是橘色(orange)綁定鍵,第二個有兩個綁定鍵,其中一個綁定鍵是黑色(black),另一個綁定鍵是綠色(green)。在此設(shè)置中,發(fā)布到交換機(jī)的帶有橘色(orange)路由鍵的消息會被路由給隊列Q1。帶有黑色(black)或綠色(green)路由鍵的消息會被路由給Q2。其他的消息則會被丟棄。

二、 Fanout Exchange(扇型交換機(jī))

RabbitMQ交換機(jī)類型
Fanout Exchange(扇型交換機(jī)):當(dāng)一個Msg發(fā)送到扇形交換機(jī)X上時,則扇形交換機(jī)X會將消息分別發(fā)送給所有綁定到X上的消息隊列。扇形交換機(jī)將消息路由給綁定到自身的所有消息隊列,也就是說路由鍵在扇形交換機(jī)里沒有作用,故消息隊列綁定扇形交換機(jī)時,路由鍵可為空。這個模式類似于廣播。

三、Topic Exchange(主題交換機(jī))

RabbitMQ交換機(jī)類型
(1)路由鍵和綁定鍵命名

  • 消息路由鍵—發(fā)送到主題交換機(jī)的消息所攜帶的路由鍵(routing_key)不能隨意命名——它必須是一個用點號分隔的詞列表。當(dāng)中的詞可以是任何單詞,不過一般都會指定一些跟消息有關(guān)的特征作為這些單詞。列舉幾個有效的路由鍵的例子:“stock.usd.nyse”, “nyse.vmw”, “quick.orange.rabbit”。只要不超過255個字節(jié),詞的長度由你來定。
  • 綁定鍵(binding key)也得使用相同的格式。主題交換機(jī)背后的邏輯跟直連交換機(jī)比較相似——一條攜帶特定路由鍵(routing key)的消息會被投送給所有綁定鍵(binding key)與之相匹配的隊列。盡管如此,仍然有兩條與綁定鍵相關(guān)的特殊情況:

* (星號) 能夠替代一個單詞。

# (井號) 能夠替代零個或多個單詞。

(2)示例解析,如上圖:
我們將會發(fā)送用來描述動物的多條消息。發(fā)送的消息包含帶有三個單詞(兩個點號)的路由鍵(routing key)。路由鍵中第一個單詞描述速度,第二個單詞是顏色,第三個是品種: “<速度>.<顏色>.<品種>”。我們創(chuàng)建三個綁定:Q1通過".orange.“綁定鍵進(jìn)行綁定,Q2使用”..rabbit" 和 “l(fā)azy.#”。

隊列綁定鍵解釋:

  • Q1針對所有的橘色orange動物。
  • Q2針對每一個有關(guān)兔子rabbits和慵懶l(wèi)azy的動物的消息。

消息路由鍵解釋:

  • 一個帶有"quick.orange.rabbit"路由鍵的消息會給兩個隊列都進(jìn)行投送。消息"lazy.orange.elephant"也會投送給這兩個隊列。
  • 另外一方面,“quick.orange.fox” 只會給第一個隊列。"lazy.pink.rabbit"雖然與兩個綁定鍵都匹配,但只會給第二個隊列投送一遍?!皅uick.brown.fox” 沒有匹配到任何綁定,因此會被丟棄掉。

(3)異常情況
如果我們破壞規(guī)則,發(fā)送的消息只帶有一個或者四個單詞,例如 “orange” 或者 "quick.orange.male.rabbit"會發(fā)生什么呢?結(jié)果是這些消息不會匹配到任何綁定,將會被丟棄。另一方面,“l(fā)azy.orange.male.rabbit”即使有四個單詞,也會與最后一個綁定匹配,并 被投送到第二個隊列。

(4)注意事項
主題交換機(jī)非常強(qiáng)大,并且可以表現(xiàn)的跟其他交換機(jī)相似。

  • 當(dāng)一個隊列使用"#"(井號)綁定鍵進(jìn)行綁定。它會表現(xiàn)的像扇形交換機(jī)一樣,不理會路由鍵,接收所有消息。
  • 當(dāng)綁定當(dāng)中不包含任何一個 “*” (星號) 和 “#” (井號)特殊字符的時候,主題交換機(jī)會表現(xiàn)的跟直連交換機(jī)一毛一樣。

四、Headers Exchange(頭交換機(jī))

頭交換機(jī)類似與主題交換機(jī),但是卻和主題交換機(jī)有著很大的不同。主題交換機(jī)使用路由鍵來進(jìn)行消息的路由,而頭交換機(jī)使用消息屬性來進(jìn)行消息的分發(fā),通過判斷消息頭的值能否與指定的綁定相匹配來確立路由規(guī)則。
在頭交換機(jī)里有一個特別的參數(shù)”x-match”,當(dāng)”x-match”的值為“any”時,只需要消息頭的任意一個值匹配成功即可,當(dāng)”x-match”值為“all”時,要求消息頭的所有值都需相等才可匹配成功。

相關(guān)文章
RabbitMQ的六種工作模式
RabbitMQ如何保證消息的可靠性文章來源地址http://www.zghlxwxcb.cn/news/detail-456785.html

到了這里,關(guān)于RabbitMQ交換機(jī)類型的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • SpringBoot整合RabbitMQ,三種交換機(jī)類型示例

    SpringBoot整合RabbitMQ,三種交換機(jī)類型示例

    在application.properties或application.yml中配置RabbitMQ服務(wù)器的連接參數(shù): 4.1、DirectExchange(直連交換機(jī)) 消費(fèi)者 生產(chǎn)者 測試 一個交換機(jī)對多個隊列的特點: 一個隊列對多個消費(fèi)者特點: 4.2、FanoutExchange(扇形/廣播交換機(jī)) 消費(fèi)者 生產(chǎn)者 4.3、TopicExchange(主題交換機(jī)) 消費(fèi)者 生

    2024年04月12日
    瀏覽(20)
  • 【圖解RabbitMQ-6】說說交換機(jī)在RabbitMQ中的四種類型以及使用場景

    【圖解RabbitMQ-6】說說交換機(jī)在RabbitMQ中的四種類型以及使用場景

    ?????作者名稱:DaenCode ??作者簡介:CSDN實力新星,后端開發(fā)兩年經(jīng)驗,曾擔(dān)任甲方技術(shù)代表,業(yè)余獨(dú)自創(chuàng)辦智源恩創(chuàng)網(wǎng)絡(luò)科技工作室。會點點Java相關(guān)技術(shù)棧、帆軟報表、低代碼平臺快速開發(fā)。技術(shù)尚淺,閉關(guān)學(xué)習(xí)中······ ??人生感悟:嘗盡人生百味,方知世間冷暖。

    2024年02月07日
    瀏覽(31)
  • RabbitMQ 備份交換機(jī)和死信交換機(jī)

    RabbitMQ 備份交換機(jī)和死信交換機(jī)

    ??為處理生產(chǎn)者將消息推送到交換機(jī)中,交換機(jī)按照消息中的路由鍵及自身策略無法將消息投遞到指定隊列中造成消息丟失的問題,可以使用備份交換機(jī)。 ??為處理在消息隊列中到達(dá)TTL的過期消息,可采用死信交換機(jī)進(jìn)行消息轉(zhuǎn)存??梢酝ㄟ^死信交換機(jī)的方式實現(xiàn)延遲隊

    2024年02月14日
    瀏覽(22)
  • RabbitMQ之Exchange(交換機(jī))屬性及備用交換機(jī)解讀

    RabbitMQ之Exchange(交換機(jī))屬性及備用交換機(jī)解讀

    目錄 基本介紹 主要結(jié)論 備用交換機(jī) ?springboot代碼實戰(zhàn)(備用交換機(jī)) 實戰(zhàn)架構(gòu) 工程概述 RabbitConfigDeal?配置類:創(chuàng)建隊列及交換機(jī)并進(jìn)行綁定? MessageService業(yè)務(wù)類:發(fā)送消息及接收消息 主啟動類RabbitMq01Application:實現(xiàn)ApplicationRunner接口 在 RabbitMQ 中,交換機(jī)主要用來將生產(chǎn)

    2024年02月02日
    瀏覽(17)
  • 【RabbitMQ】RabbitMQ的交換機(jī)

    【RabbitMQ】RabbitMQ的交換機(jī)

    在上文中, 都沒有交換機(jī),生產(chǎn)者直接發(fā)送消息到隊列。 而一旦引入交換機(jī),消息發(fā)送的模式會有很大變化:可以看到,在訂閱模型中,多了一個exchange角色,而且過程略有變化: Publisher:生產(chǎn)者,不再發(fā)送消息到隊列中,而是發(fā)給交換機(jī) Exchange:交換機(jī),一方面,接收生

    2024年03月12日
    瀏覽(30)
  • 【RabbitMQ(day3)】扇形交換機(jī)和主題交換機(jī)的應(yīng)用

    【RabbitMQ(day3)】扇形交換機(jī)和主題交換機(jī)的應(yīng)用

    扇型交換機(jī)將消息路由給綁定到它身上的所有隊列,而不會理會綁定的路由鍵。如果 N 個隊列綁定到某個扇型交換機(jī)上,當(dāng)有消息發(fā)送給此扇型交換機(jī)時,交換機(jī)會將消息的拷貝分別發(fā)送給這所有的 N 個隊列。扇型用來交換機(jī)處理消息的廣播路由。 因為扇型交換機(jī)投遞信息的

    2024年02月14日
    瀏覽(43)
  • RabbitMQ交換機(jī)(1)

    RabbitMQ交換機(jī)(1)

    RabbitMQ消息傳遞模型的核心思想是: 生產(chǎn)者生產(chǎn)的消息從不會直接發(fā)送到隊列 。實際上,通常生產(chǎn)者甚至都不知道這些消息傳遞傳遞到了哪些隊列中。 相反,生產(chǎn)者只能將消息發(fā)送到交換機(jī)(exchange), 交換機(jī)工作的內(nèi)容非常簡單,一方面它接收來自生產(chǎn)者的消息,另一方面將

    2024年01月17日
    瀏覽(23)
  • RabbitMQ之交換機(jī)

    RabbitMQ之交換機(jī)

    目錄 前言 一.關(guān)于交換機(jī) 1.交換機(jī)工作原理 2.交換機(jī)類型及路由規(guī)則 二.交換機(jī)實戰(zhàn)講解 1.直連交換機(jī) 2.主題交換機(jī) 3.扇形交換機(jī) 總結(jié) RabbitMQ 中的交換機(jī)(Exchange)是消息的分發(fā)中心,負(fù)責(zé)將消息發(fā)送到一個或多個隊列。它接收生產(chǎn)者發(fā)送的消息并將這些消息路由到消息隊列

    2024年01月25日
    瀏覽(18)
  • 02、RabbitMQ交換機(jī)

    02、RabbitMQ交換機(jī)

    目錄 1.、Exchange(交換機(jī))的作用 ?2、Exchange(交換機(jī))的類型 2.1.直連交換機(jī):Direct Exchange 2.2.主題交換機(jī):Topic Exchange 2.3.扇形交換機(jī):Fanout Exchange 2.4.首部交換機(jī):Headers exchange 2.5.默認(rèn)交換機(jī) 2.6.Dead Letter Exchange(死信交換機(jī)) 3、交換機(jī)的屬性 4、綜合案例:交換機(jī)的使用 給子模

    2024年02月04日
    瀏覽(44)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包