HubSpot是如何監控Kafka的性能的

jopen 9年前發布 | 11K 次閱讀 Kafka 消息系統

Sidekick 是數字營銷公司 HubSpot 的一款產品,用于在接收者打開郵件時實時通知發送者。創建和發送通知的基礎設施以 Kafka 為基礎創建。 Ze'ev Klapow 是 Sidekick 基礎設施團隊的一名資深軟件工程師。近日,他 撰文介紹了他們如何在 Sidekick 中監控 Kafka 的性能。

Sidekick 通知管道的架構大致如下:

HubSpot是如何監控Kafka的性能的

Ze'ev 指出,像上圖這樣就許多 Kafka 消費者連接在一起,需要監控每個消費者的性能,而且需要在消費者出現問題時快速定位。為此,他們開發了如下兩個指標。

“增量(Delta)”

該指標用于確定消費者是否能夠跟上某個主題的數據生成速度,如下圖所示:

HubSpot是如何監控Kafka的性能的

在 Kafka 中,每條消息會發送到某個主題的一個分區上,每條消息在寫入時會獲得一個遞增的偏移量數值。消費者在消費消息時會記錄它消費的最后一條消息的偏移量。增量即是該偏移量與分區頭之前差異。對于每個 Kafka 消費者,他們會記錄如下兩個增量數據:

sesese色