Queue管理
本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。
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列表下方的批量刪除。
在提示對話框,認真閱讀提示信息,單擊確認。