Spring Boot Actuators 中是否有检查子服务健康状况的标准方法?
Is there a standard way in Spring Boot Actuators of checking the health of child services?
假设我有 Spring 引导服务 A,它依赖于(调用)Spring 引导服务 B。
A -> B
Spring Boot Actuators 可以告诉我 A 是否启动。
https:///A/health
我想知道 B 是否启动,通过调用 A。
https:///A/integratedhealth
我的问题是:Spring Boot Actuators 中是否有检查子服务健康状况的标准方法?
(或者我只需要构建自定义执行器服务?)
Spring boot 提供了很多开箱即用的健康指标。但是,您可以通过实现 HealthIndicator
接口(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"
}
}
}
}
您可以在 spring 引导文档中找到有关 custom health checks and endpoints 的更多信息。
假设我有 Spring 引导服务 A,它依赖于(调用)Spring 引导服务 B。
A -> B
Spring Boot Actuators 可以告诉我 A 是否启动。
https:///A/health
我想知道 B 是否启动,通过调用 A。
https:///A/integratedhealth
我的问题是:Spring Boot Actuators 中是否有检查子服务健康状况的标准方法? (或者我只需要构建自定义执行器服务?)
Spring boot 提供了很多开箱即用的健康指标。但是,您可以通过实现 HealthIndicator
接口(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"
}
}
}
}
您可以在 spring 引导文档中找到有关 custom health checks and endpoints 的更多信息。