中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

二級網(wǎng)站建設比較好用的搜索引擎

二級網(wǎng)站建設,比較好用的搜索引擎,深圳南山區(qū)住房和建設局網(wǎng)站,蘇州做網(wǎng)站公司排名文章目錄 Topic 交換機概述 Routing Key 與 Binding Key優(yōu)缺點及場景優(yōu)點缺點應用場景 案例演示創(chuàng)建隊列和交換機:消費者代碼:消息發(fā)送代碼:測試: 總結 Topic 交換機概述 路由機制: Topic交換機與Direct交換機類似&am…

文章目錄

      • Topic 交換機概述
      • Routing Key 與 Binding Key
      • 優(yōu)缺點及場景
        • 優(yōu)點
        • 缺點
        • 應用場景
      • 案例演示
        • 創(chuàng)建隊列和交換機:
        • 消費者代碼:
        • 消息發(fā)送代碼:
        • 測試:
      • 總結

Topic 交換機概述

  • 路由機制: Topic交換機與Direct交換機類似,也是基于 routing key 進行消息路由。
  • Routing Key 格式: 通常由多個單詞組成,用點 (.) 分隔。例如:china.news, china.weather,等等。
  • 含義: 每個單詞代表某種特定含義,如 china.news 表示中國的新聞,china.weather 表示中國的天氣。

Routing Key 與 Binding Key

  • Routing Key: 發(fā)送消息時指定的路由鍵,通常由多個單詞組成。
  • Binding Key: 隊列和交換機之間的綁定鍵,也可以由多個單詞組成,允許使用通配符。
  • 通配符
    • * 星號: 表示一個單詞。用于匹配一個具體的單詞。
    • #井號: 表示零個或多個單詞。用于匹配多個單詞或完全不匹配。
    • 示例:
      • china.#:匹配以 china 開頭的任何消息,如 china.news、china.weather 都匹配。
      • *.news:匹配任何以 .news 結尾的消息,如 china.newsjapan.news 等。
      • china.*:只匹配 china 后跟一個單詞的消息,如 china.news,但不匹配 china.weather



優(yōu)缺點及場景

優(yōu)點
  • 靈活性: 使用通配符可以減少綁定多個鍵的復雜性。例如,china.# 可以代替多個綁定 china.news, china.weather 等。
  • 擴展性: 如果后續(xù)添加新的消息類型(如 china.sports),不需要修改現(xiàn)有配置,直接匹配 china.# 就能涵蓋新類型。

缺點
  • 性能影響: 通配符匹配比直接匹配消耗更多的計算資源,雖然影響較小。

應用場景
  • 適合多種類型的消息路由: 如果有多個不同的消息類型(如新聞、天氣),并且這些類型有相似的前綴或后綴,使用 topic 交換機可以大大簡化配置。
  • 可動態(tài)擴展: 當新的消息類型出現(xiàn)時,只需要簡單地添加通配符綁定,無需多次配置。



案例演示

利用 SpringAMQP 演示 TopicExchange 的使用

  1. 在 RabbitMQ 控制臺中,聲明隊列 topic.queue1 和 topic.queue2
  2. 在RabbitMQ 控制臺中,聲明交換機 hmall.topic,將兩個隊列與其綁定
  3. 在 consumer 服務中,編寫兩個消費者方法,分別監(jiān)聽 topic.queue1 和 topic.queue2
  4. 在 publisher 中編寫測試方法,向 hamll.topic 發(fā)送消息


創(chuàng)建隊列和交換機:
  • 在 RabbitMQ 控制臺創(chuàng)建兩個隊列 topic.queue1topic.queue2,以及一個 topic 類型的交換機 nhuan.topic。

  • 使用 china.#*.news 作為 binding key 進行綁定。


消費者代碼:
  • 創(chuàng)建兩個消費者,分別監(jiān)聽 topic.queue1topic.queue2。
@RabbitListener(queues = "topic.queue1")
public void listenTopicQueue1(String message) {log.info("消費者1接收到 topic.queue1 的消息: " + message);
}@RabbitListener(queues = "topic.queue2")
public void listenTopictQueue2(String message) {log.info("消費者2接收到 topic.queue2 的消息: " + message);
}



消息發(fā)送代碼:
  • 使用 rabbitTemplate.convertAndSend 發(fā)送消息到指定的交換機,并設置 routing key。
@Test
public void testTopicQueue1() {// 交換機名稱String exchangeName = "nhuan.topic";// 消息String message = "新聞:中國收復小日子。";// 發(fā)送消息rabbitTemplate.convertAndSend(exchangeName, "china.news", message);
}@Test
public void testTopicQueue2() {// 交換機名稱String exchangeName = "nhuan.topic";// 消息String message = "天氣:今天天氣不錯。";// 發(fā)送消息rabbitTemplate.convertAndSend(exchangeName, "china.weather", message);
}

測試:
  • china.news 會同時匹配 topic.q1topic.q2,所以兩個消費者都會收到。

在這里插入圖片描述


  • china.weather 只會匹配 topic.queue1,所以只有消費者1收到消息。

在這里插入圖片描述



總結

  • 與 Direct 交換機的區(qū)別: Topic交換機使用多單詞組成的 routing key,并且支持通配符匹配,提供更大的靈活性和擴展性。
  • 適合的場景: 當需要根據(jù)不同的消息類型(如不同國家的新聞、天氣等)進行路由時,topic 交換機非常合適。
http://www.risenshineclean.com/news/52738.html

相關文章:

  • 湖南seo網(wǎng)站設計友情鏈接如何添加
  • 珠海網(wǎng)站建設優(yōu)化推廣班級優(yōu)化大師官網(wǎng)
  • 在哪里自己建設網(wǎng)站杭州網(wǎng)站建設方案優(yōu)化
  • 網(wǎng)站測試有哪些主要工作市場營銷
  • 上海公司注冊網(wǎng)站網(wǎng)址查詢
  • 無錫市建設培訓中心網(wǎng)站百度關鍵詞排名怎么做
  • 做公眾好號的網(wǎng)站百度seo 優(yōu)化
  • 程序員除了做軟件是不是就做網(wǎng)站個人開發(fā)app去哪里接廣告
  • 備案 網(wǎng)站名稱什么用湖北權威的百度推廣
  • 怎么做黑客把網(wǎng)站余額更改企業(yè)網(wǎng)站seo推廣方案
  • 做自己的網(wǎng)站花多錢2345網(wǎng)址導航桌面版
  • 如何做網(wǎng)站插件無限制搜索引擎排名
  • 正規(guī)的合肥網(wǎng)站建設商家推廣平臺有哪些
  • 住房與城鄉(xiāng)建設部網(wǎng)站職責營銷策劃案例
  • 免費微商城平臺官網(wǎng)最優(yōu)化方法
  • 網(wǎng)站怎么做導航條新聞發(fā)布會稿件
  • wordpress加授權網(wǎng)絡優(yōu)化的基本方法
  • 用rp怎么做網(wǎng)站按鈕下拉菜單百度移動首頁
  • 簡述網(wǎng)站建設優(yōu)劣的評價標準外貿營銷網(wǎng)站
  • 網(wǎng)站免費虛擬空間3小時百度收錄新站方法
  • 軟件開發(fā)是編程嗎windows優(yōu)化大師怎么用
  • 鄭州聯(lián)通網(wǎng)站備案百度競價推廣價格
  • 博樂建設工程信息網(wǎng)站南昌百度seo
  • 自學做網(wǎng)站的書網(wǎng)絡營銷七個步驟
  • 做網(wǎng)站時java都做什么網(wǎng)站到首頁排名
  • 注冊一個公司網(wǎng)站的費用東莞推廣服務
  • dedecms采集規(guī)則各類網(wǎng)站網(wǎng)站生成器
  • 網(wǎng)站建設技術部獎懲制度快速建站網(wǎng)站
  • 用手機域名做網(wǎng)站有多少大數(shù)據(jù)精準獲客軟件
  • 有哪個網(wǎng)站能賣自己做的衣服信息推廣平臺