Menu
快讀
  • 旅遊
  • 生活
    • 美食
    • 寵物
    • 養生
    • 親子
  • 娛樂
    • 動漫
  • 時尚
  • 社會
  • 探索
  • 故事
  • 科技
  • 軍事
  • 国际
快讀

RabbitMQ實戰應用技巧

2021 年 3 月 11 日 阜阳发布

1. RabbitMQ實戰應用技巧

1.1. 前言

由于項目原因,之後會和RabbitMQ比較多的打交道,所以讓我們來好好整理下RabbitMQ的應用實戰技巧,盡量避免日後的采坑

1.2. 概述

RabbitMQ有幾個重要的概念:虛擬主機,交換機,隊列和綁定

  • 虛擬主機:一個虛擬主機持有一組交換機、隊列和綁定,我們可以從虛擬主機層面的顆粒度進行權限控制
  • 交換機:Exchange用于轉發消息,它並不存儲消息,如果沒有Queue隊列綁定到Exchange,它會直接丟棄掉生産者發來的數據。
  • 交換機還有個關聯的重要概念:路由鍵,消息轉發到哪個隊列根據路由鍵決定
  • 綁定:就是綁定交換機和隊列,它是多對多的關系,也就是說多個交換機可以綁同一個隊列,也可以一個交換機綁多個隊列

1.3. 交換機

交換機有四種類型的模式Direct, topic, Headers and Fanout

1.3.1. Direct Exchage

Direct模式使用的是RabbitMQ的默認交換機,也是最簡單的模式,適合比較簡單的場景

如下圖所示,使用Direct模式,我們需要創建不同的隊列,而默認交換機則通過Routing key路由鍵的值來決定轉發到哪個隊列,可以看到,路由鍵綁定隊列是可以指定多個的

RabbitMQ實戰應用技巧

1.7. 交換機屬性

  1. exchange : 交換機名稱
  2. type : 交換機類型
  3. durable : 持久化,同隊列
  4. autoDelete : 是否自動刪除,同隊列
  5. internal : 若爲true,表示這個exchange不可以被client用來推送消息,僅用來進行exchange和exchange之間的綁定。
  6. arguments : 額外參數,目前只有個alternate-exchange,表示當生産者發送消息到這個交換機,路由不到該交換機的隊列,則會嘗試這個參數指定的交換機進行路由,若路由鍵匹配,則路由到alternate-exchange指定的隊列,相當于轉發了,剛好和上一個參數internal配合,若不想本交換機起到路由隊列的作用,可以設置internal爲true,把消息都轉發到alternate-exchange指定的交換機,由該交換機來路由指定隊列,
  • 如下圖:exchange0設置了alternate-exchange交換機爲exchange1,生産者發送數據到exchange0路由鍵爲test1,在exchange0路由不到,則轉發到exchange1判斷路由符合,發送到隊列queue1

相關文章:

  • 打完疫苗後如何從新加坡順利回國?新加坡最新回國政策及流程指南
  • 春節出行不用擠,新加坡打車立減5元!先到先得喲!
  • 小六會考告一段落,一份新加坡中學分類清單助家長挑選好學校
  • 新加坡11條shuttle bus路線!直達動物園、宜家、農場、聖淘沙、醫院……
  • 「新相親大會」獅城招募正式啓動!想脫單,你就來!
  • 越南·法式高端之旅~【16人團體】號召最後倆位浪漫夥伴~
科技

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

©2026 快讀 | 服務協議 | DMCA | 聯繫我們