健康指示器
健康指示器需要依赖 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 进行分类。