健康指示器

健康指示器需要依賴 spring-boot-starter-actuator。Maven 配置如下:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

Spring Cloud Stream Kafka Streams Binder 提供了一個健康指示器來檢查底層 Streams 執行緒的狀態。Spring Cloud Stream 定義了一個屬性 management.health.binders.enabled 來啟用該健康指示器。詳見Spring Cloud Stream 文件

健康指示器為每個 Streams 執行緒的元資料提供以下詳細資訊:

  • 執行緒名稱

  • 執行緒狀態:CREATEDRUNNINGPARTITIONS_REVOKEDPARTITIONS_ASSIGNEDPENDING_SHUTDOWNDEAD

  • 活動任務:任務 ID 和分割槽

  • 備用任務:任務 ID 和分割槽

預設情況下,僅顯示全域性狀態(UPDOWN)。要顯示詳細資訊,屬性 management.endpoint.health.show-details 必須設定為 ALWAYSWHEN_AUTHORIZED。有關健康資訊的更多詳情,請參閱Spring Boot Actuator 文件

如果所有註冊的 Kafka 執行緒都處於 RUNNING 狀態,則健康指示器狀態為 UP

由於 Kafka Streams Binder 中有三個獨立的 Binder(KStreamKTableGlobalKTable),它們都會報告健康狀態。啟用 show-details 時,報告的一些資訊可能會冗餘。

當同一個應用中存在多個 Kafka Streams 處理器時,所有處理器的健康檢查都會報告,並按 Kafka Streams 的應用 ID 進行分類。