gpt4 book ai didi

java - Spring Boot Actuators 中是否有检查子服务健康状况的标准方法?

转载 作者:行者123 更新时间:2023-12-05 06:13:11 27 4
gpt4 key购买 nike

假设我有 Spring Boot 服务 A,它依赖于(调用)Spring Boot 服务 B。

A -> B

Spring Boot Actuators可以告诉我 A 是否启动。

https://A/健康

我想知道 B 是否启动,通过调用 A。

https://A/综合健康

我的问题是:Spring Boot Actuators 中是否有检查子服务健康状况的标准方法?(或者我是否只需要构建自定义执行器服务?)

最佳答案

Spring Boot 提供了许多开箱即用的健康指标。但是,您可以通过实现 HealthIndicator 接口(interface)(ReactiveHealthIndicator 用于响应式应用程序)来添加您自己的自定义健康指标:

@Component
public class ServiceBHealthIndicator implements HealthIndicator {

private final String message_key = "Service B";

@Override
public Health health() {
if (!isRunningServiceB()) {
return Health.down().withDetail(message_key, "Not Available").build();
}
return Health.up().withDetail(message_key, "Available").build();
}
private Boolean isRunningServiceB() {
Boolean isRunning = true;
// Your logic here
return isRunning;
}
}

如果将它与之前的其他健康指标结合使用,您可以通过以下方式获得健康端点响应:

{
"status":"DOWN",
"details":{
"serviceB":{
"status":"UP",
"details":{
"Service B":"Available"
}
},
"serviceC":{
"status":"DOWN",
"details":{
"Service C":"Not Available"
}
}
}
}

您可以找到有关 custom health checks 的更多信息和 endpoints在 spring boot 文档中。

关于java - Spring Boot Actuators 中是否有检查子服务健康状况的标准方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63406277/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com