gpt4 book ai didi

spring-boot-actuator - Resilience4j 和 Spring Actuator - 开路查杀服务

转载 作者:行者123 更新时间:2023-12-03 14:43:16 26 4
gpt4 key购买 nike

我已将以下依赖项添加到我的 Spring Boot 项目中

implementation 'io.github.resilience4j:resilience4j-spring-boot2:0.14.1'

当断路器打开时,我在执行器/运行状况端点上收到以下响应,状态代码为 503 服务不可用:
{
"status": "DOWN",
"details": {
"diskSpace": {
"status": "UP",
"details": {
"total": 499963174912,
"free": 432263229440,
"threshold": 10485760
}
},
"refreshScope": {
"status": "UP"
},
"getFlightInfoCircuitBreaker": {
"status": "DOWN",
"details": {
"failureRate": "100.0%",
"failureRateThreshold": "2.0%",
"maxBufferedCalls": 1,
"bufferedCalls": 1,
"failedCalls": 1,
"notPermittedCalls": 1,
"state": "OPEN"
}
}
}

}

我的 AWS ECS 容器运行状况检查使用此终端节点来确定其运行状况,并在非 200 响应时重新启动容器。

由于我不希望在断路器打开时重新启动我的服务,有没有办法让断路器打开,而不会导致服务状态关闭?

我知道 registerHealthIndicator: false属性来解决这个问题,但这会从执行器中删除断路器统计信息,我仍然希望看到。

最佳答案

我能想到两种可能。

1) 创建自定义 HealthIndicator基于resilience4j的代码:
https://github.com/resilience4j/resilience4j/blob/master/resilience4j-spring-boot2/src/main/java/io/github/resilience4j/circuitbreaker/monitoring/health/CircuitBreakerHealthIndicator.java

您需要返回 Health.up()Health.unknown()避免来自 /health 的 503端点。

2) 禁用弹性 4j 的健康指标并从指标执行器端点获取相同的信息。

关于spring-boot-actuator - Resilience4j 和 Spring Actuator - 开路查杀服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55812763/

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