全部產品
Search
文件中心

ApsaraMQ for Kafka:查看消費狀態

更新時間:Dec 27, 2024

當Kafka出現消費堆積、傾斜、流量被限流等異常時,您可以查看Group和Topic之間的訂閱關係,擷取Topic各個分區的消費進度,瞭解訊息的堆積總量,及時調整業務、預防風險。

注意事項

  • 建議一個消費組不要訂閱超過三個Topic,避免訊息堆積。

  • 當您使用assign消費模式時,請及時手動提交消費位點,避免實際已消費訊息,卻由於未提交位點顯示訊息堆積。

  • 若堆積量較大,請檢查訊息消費速率和生產速率,若前者小於後者,建議您通過提升消費能力的方式來緩解。

查看Topic被訂閱的Group

  1. 登入雲訊息佇列 Kafka 版控制台,在概览頁面的资源分布地區,選擇地區。

  2. 实例列表頁面,單擊目標執行個體名稱。

  3. 在左側導覽列,單擊Topic管理

  4. Topic管理頁面,單擊目標Topic名称

  5. Topic 详情頁面,單擊订阅关系頁簽。

    订阅当前 Topic 的在线 Group 的列表中,顯示所有訂閱該Topic的Group訂閱關係

  6. 订阅当前 Topic 的在线 Group 的列表中,找到目標Group,在其右側操作列,單擊消费详情

    在消費詳情列表,顯示該Topic各個分區的消費詳情。

    image

    參數

    說明

    分区 ID

    該Topic分區的ID。

    客户端

    即時訂閱該Topic的線上Consumer。

    說明
    • 取值格式為<Client ID>_/<IP>

    • 非線上消費端則無法查看用戶端資訊。

    最大位点

    該Topic在當前分區下的最大訊息消費位點。

    消费位点

    該Topic在當前分區下的訊息消費位點。

    堆积量

    當前分區下的訊息堆積總量,即最大位點減去消費位點的值。

    重要

    堆積總量是一個關鍵計量,如果發現堆積總量較大,則應用消費端可能產生了阻塞,或者消費速度跟不上生產速度。此時需要分析消費端的健全狀態,提升消費速度。更多資訊,請參見重設消費位點

查看Group訂閱的Topic

  1. 实例列表頁面,單擊目標執行個體名稱。

  2. 在左側導覽列,單擊Group 管理

  3. Group 管理頁面,單擊目標Group ID

  4. Group 詳情頁面,單擊消费状态頁簽。

    列表中,顯示該Group訂閱的所有Topic以及各個Topic的堆积量消費狀態

  5. Topic列表,找到目標Topic,在其右側操作列,單擊消费详情

    消費詳情列表,顯示該Group在相應Topic的各個分區的消費詳情。image

    參數解釋請參見上文。

常見問題

為什麼Kafka分區訊息堆積,下遊消費卻無異常?

下遊可能採用了assign消費模式,位點是您自己管理的。這種情況下雖然顯示了堆積,實際上您可能已經消費了,但是沒有提交位點。建議您及時手動提交位點解決訊息堆積問題。

訊息消費速率小於生產速率導致訊息堆積時,如何增加消費能力?

可以通過提升消費能力的方式來緩解,有以下兩種方案:

  • 增加Consumer執行個體個數。可以在進程內直接增加(需要保證每個執行個體對應一個線程),也可以部署多個消費執行個體進程。需要注意的是,執行個體個數超過分區數量後就不再能提高速度,否則將會有消費執行個體不工作。

  • 增加消費線程。更多資訊,請參見提高消費速度

有訊息堆積就一定是出現問題了嗎?

不一定。一般分為以下三種情況:

  • 最近消費時間與目前時間接近,並且堆積量保持在一個穩定的數值之間波動,沒有持續擴大說明用戶端一直在拉取最新訊息,沒有訊息堆積,屬於正常情況。

  • 堆積量逐步擴大,並且訊息位點一直不變用戶端的消費線程因為某些原因卡住,沒有繼續消費,也沒有繼續向服務端提交位點,屬於異常情況,即訊息的確堆積了。

  • 堆積量逐步擴大,同時消費位點在前進說明用戶端還在消費中,但是訊息的消費速度慢於訊息的發送速度,建議提高消費速度。

更多資訊,請參見使用雲訊息佇列 Kafka 版時出現訊息堆積

相關文檔