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

rabbitmq基礎-java-4、Direct交換機

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

1、簡介

????????在Fanout模式中,一條消息,會被所有訂閱的隊列都消費。但是,在某些場景下,我們希望不同的消息被不同的隊列消費。這時就要用到Direct類型的Exchange。

?rabbitmq基礎-java-4、Direct交換機,消息隊列-rabbitmq,rabbitmq,分布式

?2、特點

在Direct模型下:

  • 隊列與交換機的綁定,不能是任意綁定了,而是要指定一個RoutingKey(路由key)

  • 消息的發(fā)送方在 向 Exchange發(fā)送消息時,也必須指定消息的 RoutingKey。

  • Exchange不再把消息交給每一個綁定的隊列,而是根據(jù)消息的Routing Key進行判斷,只有隊列的Routingkey與消息的 Routing key完全一致,才會接收到消息

?3、設置隊列

rabbitmq基礎-java-4、Direct交換機,消息隊列-rabbitmq,rabbitmq,分布式

4、設置交換機

rabbitmq基礎-java-4、Direct交換機,消息隊列-rabbitmq,rabbitmq,分布式

5、綁定隊列

rabbitmq基礎-java-4、Direct交換機,消息隊列-rabbitmq,rabbitmq,分布式

?6、設置生產(chǎn)者

    @Test
    void testSendDirect1() {
        String exchangeName = "test.direct";
        String msg = "紅色通知";
        rabbitTemplate.convertAndSend(exchangeName, "red", msg);
    }

    @Test
    void testSendDirect2() {
        String exchangeName = "test.direct";
        String msg = "藍色通知";
        rabbitTemplate.convertAndSend(exchangeName, "blue", msg);
    }

    @Test
    void testSendDirect3() {
        String exchangeName = "test.direct";
        String msg = "黃色通知";
        rabbitTemplate.convertAndSend(exchangeName, "yellow", msg);
    }

7、設置消費者

    @RabbitListener(queues = "direct.queue1")
    public void listenDirectQueue1(String msg) {
        System.out.println("消費者1接收到direct.queue1的消息:【" + msg + "】");
    }

    @RabbitListener(queues = "direct.queue2")
    public void listenDirectQueue2(String msg) {
        System.out.println("消費者2接收到direct.queue2的消息:【" + msg + "】");
    }

8、測試

rabbitmq基礎-java-4、Direct交換機,消息隊列-rabbitmq,rabbitmq,分布式

rabbitmq基礎-java-4、Direct交換機,消息隊列-rabbitmq,rabbitmq,分布式

rabbitmq基礎-java-4、Direct交換機,消息隊列-rabbitmq,rabbitmq,分布式

9、總結(jié)

Direct交換機與Fanout交換機的差異?

  • Fanout交換機將消息路由給每一個與之綁定的隊列

  • Direct交換機根據(jù)RoutingKey判斷路由給哪個隊列

  • 如果多個隊列具有相同的RoutingKey,則與Fanout功能類似文章來源地址http://www.zghlxwxcb.cn/news/detail-824297.html

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

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

領支付寶紅包贊助服務器費用

相關文章

  • 【RabbitMQ】 RabbitMQ 消息的延遲 —— 深入探索 RabbitMQ 的死信交換機,消息的 TTL 以及延遲隊列

    【RabbitMQ】 RabbitMQ 消息的延遲 —— 深入探索 RabbitMQ 的死信交換機,消息的 TTL 以及延遲隊列

    消息隊列是現(xiàn)代分布式應用中的關鍵組件,用于實現(xiàn)異步通信、解耦系統(tǒng)組件以及處理高并發(fā)請求。消息隊列可以用于各種應用場景,包括任務調(diào)度、事件通知、日志處理等。在消息隊列的應用中,有時需要實現(xiàn)消息的延遲處理、處理未能成功消費的消息等功能。 本文將介紹

    2024年02月05日
    瀏覽(96)
  • .NetCore 使用 RabbitMQ (交換機/隊列/消息持久化+mq高級特性+死信隊列+延遲隊列)

    .NetCore 使用 RabbitMQ (交換機/隊列/消息持久化+mq高級特性+死信隊列+延遲隊列)

    目錄 一、安裝mq 二、實操 1、簡單模式 2、工作模式 3、fanout扇形模式(發(fā)布訂閱) 4、direct路由模式也叫定向模式 5、topic主題模式也叫通配符模式(路由模式的一種) 6、header 參數(shù)匹配模式 7、延時隊列(插件方式實現(xiàn)) 參考資料: 1、我的環(huán)境是使用VMware安裝的Centos7系統(tǒng)。MQ部署

    2023年04月09日
    瀏覽(112)
  • 消息隊列中間件,RabbitMQ的使用,死信隊列,延遲隊列,利用枚舉實現(xiàn)隊列,交換機,RountKey的聲明

    消息隊列中間件,RabbitMQ的使用,死信隊列,延遲隊列,利用枚舉實現(xiàn)隊列,交換機,RountKey的聲明

    目錄 0.交換機種類和區(qū)別 1.聲明隊列和交換機以及RountKey 2.初始化循環(huán)綁定 3.聲明交換機 4.監(jiān)聽隊列 4.1 監(jiān)聽普通隊列 4.2監(jiān)聽死信隊列 ?5.削峰填谷的實現(xiàn) Direct Exchange(直連交換機) : 直連交換機將消息發(fā)送到與消息的路由鍵完全匹配的隊列。它是最簡單的交換機類型之一。

    2024年04月23日
    瀏覽(587)
  • RabbitMQ交換機(2)-Direct

    RabbitMQ交換機(2)-Direct

    直連(路由)交換機,生產(chǎn)者將消息發(fā)送到交換機,并指定消息的Routing Key(路由鍵)。交換機會將Routing Key與隊列綁定進行匹配,如果匹配成功,則將該消息路由到對應的隊列中。如果沒有匹配成功,該消息將被丟棄或返回給生產(chǎn)者。在Direct模式中,每個消息只能被一個消費者接

    2024年01月18日
    瀏覽(15)
  • RabbitMQ學習筆記(消息發(fā)布確認,死信隊列,集群,交換機,持久化,生產(chǎn)者、消費者)

    RabbitMQ學習筆記(消息發(fā)布確認,死信隊列,集群,交換機,持久化,生產(chǎn)者、消費者)

    MQ(message queue):本質(zhì)上是個隊列,遵循FIFO原則,隊列中存放的是message,是一種跨進程的通信機制,用于上下游傳遞消息。MQ提供“邏輯解耦+物理解耦”的消息通信服務。使用了MQ之后消息發(fā)送上游只需要依賴MQ,不需要依賴其它服務。 功能1:流量消峰 功能2:應用解耦 功

    2024年02月07日
    瀏覽(118)
  • 【學習日記2023.6.19】 之 RabbitMQ服務異步通信_消息可靠性_死信交換機_惰性隊列_MQ集群

    【學習日記2023.6.19】 之 RabbitMQ服務異步通信_消息可靠性_死信交換機_惰性隊列_MQ集群

    消息隊列在使用過程中,面臨著很多實際問題需要思考: 消息從發(fā)送,到消費者接收,會經(jīng)歷多個過程: 其中的每一步都可能導致消息丟失,常見的丟失原因包括: 發(fā)送時丟失: 生產(chǎn)者發(fā)送的消息未送達exchange 消息到達exchange后未到達queue MQ宕機,queue將消息丟失 consumer接收

    2024年02月11日
    瀏覽(99)
  • rabbitmq基礎-java-3、Fanout交換機

    rabbitmq基礎-java-3、Fanout交換機

    Fanout,英文翻譯是扇出。 1) ?可以有多個隊列 2) ?每個隊列都要綁定到Exchange(交換機) 3) ?生產(chǎn)者發(fā)送的消息,只能發(fā)送到交換機 4) ?交換機把消息發(fā)送給綁定過的所有隊列 5) ?訂閱隊列的消費者都能拿到消息 交換機的作用是什么? 接收publisher發(fā)送的消息 將消息按

    2024年01月25日
    瀏覽(23)
  • rabbitmq基礎-java-5、Topic交換機

    rabbitmq基礎-java-5、Topic交換機

    Topic 類型的 Exchange 與 Direct 相比,都是可以根據(jù) RoutingKey 把消息路由到不同的隊列。 只不過 Topic 類型 Exchange 可以讓隊列在綁定 BindingKey 的時候使用通配符! BindingKey 一般都是有一個或多個單詞組成,多個單詞之間以 . 分割,例如: item.insert 通配符規(guī)則: # :匹配一個或多個

    2024年01月25日
    瀏覽(22)
  • RabbitMQ交換機與隊列

    RabbitMQ交換機與隊列

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

    2024年01月24日
    瀏覽(24)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包