健康指示器
健康指示器需要依賴 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 執行緒的元資料提供以下詳細資訊:
-
執行緒名稱
-
執行緒狀態:
CREATED
、RUNNING
、PARTITIONS_REVOKED
、PARTITIONS_ASSIGNED
、PENDING_SHUTDOWN
或DEAD
-
活動任務:任務 ID 和分割槽
-
備用任務:任務 ID 和分割槽
預設情況下,僅顯示全域性狀態(UP
或 DOWN
)。要顯示詳細資訊,屬性 management.endpoint.health.show-details
必須設定為 ALWAYS
或 WHEN_AUTHORIZED
。有關健康資訊的更多詳情,請參閱Spring Boot Actuator 文件。
如果所有註冊的 Kafka 執行緒都處於 RUNNING 狀態,則健康指示器狀態為 UP 。 |
由於 Kafka Streams Binder 中有三個獨立的 Binder(KStream
、KTable
和 GlobalKTable
),它們都會報告健康狀態。啟用 show-details
時,報告的一些資訊可能會冗餘。
當同一個應用中存在多個 Kafka Streams 處理器時,所有處理器的健康檢查都會報告,並按 Kafka Streams 的應用 ID 進行分類。