操作場景
本章節指導您在控制臺對用戶/客戶端/Topic進行流量控制,控制生產/消費消息的上限速率。
用戶/客戶端的流控作用范圍是整個broker,Topic的流控作用范圍是指定Topic。
操作影響
- 當流控值達到上限后,會導致生產/消費的時延增大。
- 設置的流控值較小且生產者速率較大時,可能會造成生產超時、消息丟失,導致部分消息生產失敗。
- 初始生產/消費的流量較大,如果設置一個較小的流控值,會導致生產/消費的時延增大、部分消息生產失敗。建議逐次減半設置流控值,待生產/消費穩定后繼續減半設置,直到設置為目標流控值。例如初始生產流量100MB/s,可先設置生產流控為50MB/s,待穩定后再修改為25MB/s,直到目標流控值。
前提條件
- 如果需要對用戶進行流量控制,請在創建Kafka實例時,開啟SASL_SSL功能。然后在控制臺的“用戶管理”頁面,獲取用戶名。
- 如果需要對指定客戶端進行流量控制,請在客戶端配置中獲取client ID。
- 如果需要對指定Topic進行流量控制,請在控制臺的“Topic管理”頁面,獲取Topic名稱。
創建用戶/客戶端流控
步驟 1 登錄管理控制臺。
步驟 2 在管理控制臺右上角單擊
,選擇區域。
說明請選擇Kafka實例所在的區域。
步驟 3 在管理控制臺左上角單擊
,選擇“企業中間件”-“分布式消息服務”-“Kafka專享版”,進入分布式消息服務Kafka專享版頁面。
步驟 4 單擊Kafka實例的名稱,進入實例詳情頁面。
步驟 5 在左側導航欄單擊“流控管理 > 流控列表”,進入流控列表頁面。
步驟 6 在頁面頂端單擊“User/Client”,進入“User/Client”頁簽。
步驟 7 在頁面左上角單擊“創建流控”,彈出“創建流控”對話框。
步驟 8 設置流控參數。
表 流控參數說明
| 參數名稱 | 說明 |
|---|---|
| 用戶名 | 輸入指定用戶名,對此用戶進行流控。如果需要對所有用戶進行流控,在“用戶名”后,單擊“選擇默認”。流控創建完后,無法修改“用戶名”。 |
| 客戶端ID | 輸入指定客戶端ID,對此客戶端進行流控。如果需要對所有客戶端進行流控,在“客戶端ID”后,單擊“選擇默認”。流控創建完后,無法修改“客戶端ID”。 |
| 生產上限速率 | 設置生產上限速率,單位為MB/s。為空時,表示不設置速率。 |
| 消費上限速率 | 設置消費上限速率,單位為MB/s。為空時,表示不設置速率。 |
說明?未開啟SASL的實例,在“創建流控”對話框中,不顯示“用戶名”。
?“用戶名”和“客戶端ID”不可同時為空。
?“生產上限速率”和“消費上限速率”不可同時為空。
步驟 9 單擊“確定”,跳轉到“后臺任務管理”頁面,當流控任務的“狀態”為“成功”時,表示流控創建成功。
進入“流控管理 > 流控列表”頁面,在“User/Client”頁簽中,單擊頁面右上角的“僅設置了用戶名”/“僅設置了客戶端ID”/“設置了用戶名和客戶端ID”,輸入新創建的流控名稱,單擊
,查看新創建的流控。
圖 查看新創建的流控


創建Topic流控
步驟 1 登錄管理控制臺。
步驟 2 在管理控制臺右上角單擊
,選擇區域。
說明請選擇Kafka實例所在的區域。
步驟 3 在管理控制臺左上角單擊
,選擇“企業中間件”-“分布式消息服務”-“Kafka專享版”,進入分布式消息服務Kafka專享版頁面。
步驟 4 單擊Kafka實例的名稱,進入實例詳情頁面。
步驟 5 在左側導航欄單擊“流控管理 > 流控列表”,進入流控列表頁面。
步驟 6 在頁面頂端單擊“Topic”,進入“Topic”頁簽。
步驟 7 在頁面左上角單擊“創建流控”,彈出“創建流控”對話框。
步驟 8 設置流控參數。
表 流控參數說明
| 參數名稱 | 說明 |
|---|---|
| Topic名稱 | 輸入指定Topic名稱,對此Topic進行流控。流控創建完后,無法修改“Topic名稱”。 |
| 生產上限速率 | 設置生產上限速率,單位為MB/s。為空時,表示不設置速率。 |
| 消費上限速率 | 設置消費上限速率,單位為MB/s。為空時,表示不設置速率。 |
說明“生產上限速率”和“消費上限速率”不可同時為空。
步驟 9 單擊“確定”,跳轉到“后臺任務管理”頁面,當流控任務的“狀態”為“成功”時,表示流控創建成功。
進入“流控管理 > 流控列表”頁面,在“Topic”頁簽中,在頁面右上角的搜索框中輸入新創建的流控名稱,單擊
,查看新創建的流控。