名詞解釋
本文主要對云消息隊列 RabbitMQ 版涉及的專有名詞及術語進行定義和解析,方便您更好地理解相關概念并使用云消息隊列 RabbitMQ 版。
A
Alternate Exchange
備份Exchange,簡稱AE,用于接收配置了備份Exchange的Exchange路由失敗的消息。
Arguments
Queue的參數,可用于設置死信Exchange、消息過期時間、死信Routing key等。
Auto Delete
自動刪除屬性,對于設置了自動刪除的Exchange,如果綁定到該Exchange的最后一個Queue解除綁定,那么該Exchange將會自動刪除。對于設置了自動刪除的Queue,如果訂閱該Queue的最后一個消費端取消訂閱后,那么該Queue將會自動刪除。
B
Binding
一套綁定規則,用于告訴Exchange消息應該被存儲到哪個Queue。它的作用是把Exchange和Queue按照路由規則綁定起來。
C
Channel
在客戶端的每個物理TCP連接里,可建立多個Channel,每個Channel代表一個會話任務。具體信息,請參見Connection和Channel。
Connection
TCP連接,生產者或消費者與云消息隊列 RabbitMQ 版間的物理TCP連接。具體信息,請參見Connection和Channel。
E
Exchange
生產者將消息發送到Exchange,由Exchange將消息路由到一個或多個Queue中。Exchange根據消息的屬性或內容路由消息。具體信息,請參見Exchange。
I
Internal
內建類型,該類型的Exchange用于Exchange之間的綁定。
M
Message ID
Message ID(消息標識符)是消息的可選屬性,類型為short string。Message ID在業務上通常被設置為唯一,適用于追蹤和識別銷售單、工單等需要保證消息唯一的場景。云消息隊列 RabbitMQ 版服務端不會對消息進行冪等處理。如需實現消息冪等,即如果消息重試多次,消費端對該重復消息消費多次與消費一次的結果是相同的,并且多次消費沒有對系統產生副作用,在為每條消息設置唯一Message ID的基礎上,您還需要在云消息隊列 RabbitMQ 版的Consumer客戶端對消息進行冪等處理,具體信息,請參見消息冪等。
Q
Queue
消息隊列,每個消息都會被投入到一個或多個Queue里。
R
Routing Key
生產者在向Exchange發送消息時,需要指定一個Routing Key來設定該消息的路由規則。 Routing Key需要與Exchange類型聯合使用才能生效。一般情況下,生產者在向Exchange發送消息時,可以通過指定Routing Key來決定消息被路由到哪個或哪些Queue。
S
實例
一個獨立的云消息隊列 RabbitMQ 版資源實體,包含Vhost、Exchange、Queue等基本的資源要素。
實例限流
當云消息隊列 RabbitMQ 版實例的TPS流量峰值超過您所購買實例的TPS規格上限時,云消息隊列 RabbitMQ 版實例會被限流。
限流后的行為如下:
云消息隊列 RabbitMQ 版服務端會返回錯誤碼信息。
云消息隊列 RabbitMQ 版服務端關閉當前請求的Channel。代碼中可以捕獲異常重新開啟Channel。
具體信息,請參見實例限流最佳實踐。
生產者
消息生產者,即投遞消息的程序。
死信Exchange
用于路由死信消息的Exchange。死信Exchange會根據死信Routing Key、Header屬性將死信消息投遞至死信Queue。死信Exchange可以是任何一種常見類型的Exchange,例如Direct Exchange,具體信息,請參見死信Exchange。
死信Routing Key
死信消息的路由規則。如果不設置死信消息的Routing Key,則死信消息的Routing Key默認為消息本身的Routing Key。
死信消息
死信Queue
死信Exchange綁定的Queue,用于存儲死信消息。
V
Vhost
虛擬主機(Virtual Host),用作邏輯隔離,分別管理各自的Exchange、Queue和Binding,使得應用安全地運行在不同的Vhost實例上,相互之間不會干擾。一個實例下可以有多個Vhost,一個Vhost里面可以有若干個Exchange和Queue。生產者和消費者連接云消息隊列 RabbitMQ 版需要指定一個Vhost。
X
消費者
消息消費者,即接收消息的程序。
消息存活時間
消息在Queue中的有效期。某條消息在Queue中的留存時間超過配置的消息存活時間時,則該消息過期。消息存活時間的值必須為非負整型數,單位為毫秒。例如,某條消息的存活時間的值是1000,則代表該消息最多會在Queue中存活1秒。具體信息,請參見消息存活時間。
Y
延時消息
生產者將消息發送到云消息隊列 RabbitMQ 版服務端,但并不期望這條消息立馬投遞,而是延遲一定時間后才投遞到消費者進行消費,該消息即延時消息。具體信息,請參見延時消息。
永久性
在服務器重啟之后Queue、Exchange以及相應Binding仍然存在的現象。