Queue是指訊息佇列,雲訊息佇列 RabbitMQ 版的訊息都會被投入到一個或多個Queue中。本文介紹如何在雲訊息佇列 RabbitMQ 版控制台建立訊息的儲存資源Queue、查看Dashboard大盤、被Exchange綁定、向指定Queue發送訊息、查看Consumer Tag、清空Queue和刪除Queue。
背景資訊
Consumer Tag是Consumer用戶端的標識符。您可以在雲訊息佇列 RabbitMQ 版的Consumer用戶端設定Consumer Tag。如果您沒有在雲訊息佇列 RabbitMQ 版的Consumer用戶端設定Consumer Tag,雲訊息佇列 RabbitMQ 版服務端會為您自動產生一個唯一的Consumer Tag。
如何設定Consumer Tag,請參見用戶端範例程式碼訂閱訊息。
Consumer Tag必須保持唯一,即已被某個Consumer使用的Consumer Tag不可同時被另一個Consumer使用。
Consumer Tag在同一個channel內有效,即已在某個channel內被建立的Consumer Tag不可在另一個channel內被使用。
建立Queue
登入雲訊息佇列 RabbitMQ 版控制台,然後在左側導覽列選擇实例列表。
在实例列表頁面的頂部功能表列選擇地區,然後在執行個體列表中,單擊目標執行個體名稱。
在左側導覽列,單擊Queue 列表。
在Queue 列表頁面,在当前 Vhost右側的切换下拉式清單中,選擇Vhost,單擊创建 Queue。
在创建 Queue面板,在Queue 名称文字框輸入Queue的名稱,選擇是否為Auto Delete類型,單擊高级选项,設定Queue的參數,然後單擊確定。
參數
描述
說明
Queue 名称
Queue的名稱
只能包含字母、數字、短劃線(-)、底線(_)、半形句號(.)、井號(#)、正斜線(/)、at符號(@)。
長度限制在1~255字元。
建立後無法修改,只能刪除重建。
以amq.開頭的為保留欄位,因此不能使用。例如:amq.test。
Auto Delete
最後一個Consumer取消訂閱後,Queue是否自動刪除。
true:在訂閱該Queue訊息的最後一個Consumer取消訂閱該Queue的訊息後,自動刪除該Queue。
false:在訂閱該Queue訊息的最後一個Consumer取消訂閱該Queue的訊息後,不自動刪除該Queue。
高级选项
Queue的參數設定,可用於設定死信Exchange、死信Routing Key和訊息存活時間。
DeadLetterExchange:指定死信訊息發送的目標Exchange。
DeadLetterRoutingKey:指定死信訊息的Routing Key,即死信Exchange會將訊息發送至匹配該死信Routing Key所對應的Queue。
MessageTTL:訊息存活時間,單位毫秒(ms)。在指定時間內未被成功消費的訊息會變成死信訊息,該訊息將會被發送到死信Exchange。更多資訊,請參見訊息存活時間。
查看統計資料
您可以查看各種指標資料,協助您及時發現和定位問題。
查看Consumer Tag
雲訊息佇列 RabbitMQ 版僅支援查看線上Consumer用戶端的Consumer Tag,不支援查看離線Consumer用戶端的Consumer Tag,您需要確保要查看Consumer Tag的Consumer用戶端處於線上狀態。
在Queue 列表頁面,選擇指定Queue,在其操作列,選擇 。
被Exchange綁定
在Queue 列表頁面,選擇指定Queue,在其操作列單擊详情。
在Queue 详情頁面單擊被绑定信息頁簽,單擊添加被绑定。
在添加被绑定面板,選擇源Exchange,在Routing Key文字框輸入Routing Key,然後單擊确定。
說明若被綁定的Exchange的類型為x-consistent-hash時,Routing Key表示綁定的Queue的權重,只能設定為整數,取值範圍為[1~20]。
發送訊息
Queue添加被綁定關係後,可直接在控制台發送訊息,將訊息從源Exchange發送到指定的Queue中。
在Queue 列表頁面,選擇指定Queue,在其操作列單擊详情。
在Queue 详情頁面,選擇被绑定信息頁簽。
在被綁定關係列表中,選擇指定的綁定關係,在其操作列單擊发送消息。
在彈出的发送消息面板中輸入messageId和messageBody,然後單擊确定。
清空Queue
在Queue 列表頁面,選擇指定Queue,在其操作列,選擇 。
刪除Queue
刪除Queue時,Queue中未被消費的訊息會被同時刪除,且不可恢複。請您謹慎操作。
在Queue 列表頁面,根據需要選擇如下任意一種方式刪除Queue。
刪除單個Queue:找到要刪除的Queue,在其右側操作列,選擇
。您也可以單擊目標Queue,或在其右側操作列,單擊详情,在Queue 详情頁面右上方單擊删除。
刪除多個Queue:選中要刪除的Queue,單擊Queue列表下方的批量删除。
在提示對話方塊,認真閱讀提示資訊,單擊確認。