簡體   English   中英

彈簧啟動執行器健康端點 + 動態彈性 4j 斷路器

[英]spring boot actuator health endpoint + dynamic resilience4j circuit breakers

我有一個春天啟動的應用程序,它使用resilience4j基於AOP @CircuitBreaker秒。

現在,我想讓/actuator/health端點中的斷路器信息可用,但我沒有看到 JSON 輸出的文檔描述details.circuitBtreakers對象。

我究竟做錯了什么?


相比之下,讓動態緩存信息出現在/actuator/metrics端點需要少量的自定義接線,但這是有據可查的 我想知道是否有類似的技巧可以申請動態定義的@CircuitBreaker s 注冊到/actuator/health端點。

MyService.java :

@Service
public class MyService {
    @Autowired
    private CacheManager cacheManager;
    @Autowired
    private CacheMetricsRegistrar cacheMetricsRegistrar;

    @PostConstruct
    public void postConstruct() {
        // On-the-fly defined (annotation-based) caches are not auto-registered with micrometer metrics.
        final Cache cache = cacheManager.getCache("myCache");
        cacheMetricsRegistrar.bindCacheToRegistry(cache);
    }

    @CircuitBreaker(name = "myCB", fallbackMethod = "fallbackCallAnApi")
    public String callAnApi() throws RestClientException {
        // ...
    }

    @Cacheable("myCache")
    public String getSomethingCacheable() {
        // ...
    }
}

application.properties

resilience4j.circuitbreaker.configs.default.registerHealthIndicator=true
management.endpoints.web.expose=health,metrics
management.endpoints.web.exposure.include=health,metrics
management.endpoint.health.enabled=true
management.endpoint.metrics.enabled=true
management.metrics.enable.resilience4j.circuitbreaker.calls=true
management.health.circuitbreakers.enabled=true

目前無法為 HealthIndicator 端點動態注冊斷路器。 不幸的是,您必須配置它們:

resilience4j.circuitbreaker:
    configs:
        default:
            registerHealthIndicator: true
    instances:
        myCB:
            baseConfig: default

你可以說這是一個錯誤。

https://github.com/resilience4j/resilience4j/blob/master/resilience4j-spring-boot2/src/main/java/io/github/resilience4j/circuitbreaker/monitoring/health/CircuitBreakersHealthIndicator.java#L99-L102

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM