【问题标题】:How to integrate Resilience4j metrics to Micrometer in Camel Spring Boot如何在 Camel Spring Boot 中将 Resilience4j 指标集成到 Micrometer
【发布时间】:2020-12-20 05:52:06
【问题描述】:

我将 Camel 与 Spring Boot 和 Micrometer 一起使用。在我的一条路线中,我正在使用带有 Resilience4j 的断路器:

.circuitBreaker()
            .resilience4jConfiguration()
            .timeoutEnabled(true)
            .timeoutDuration(2000)
            .end()

我正在使用 Spring 管理的 Micrometer。在使用 Hystrix 迁移到 Resilience4j 之前,我可以简单地将其绑定到我的 Micrometer 注册表:

@Configuration()
public class MetricsRegistryBuilder {
    @Bean
    HystrixMetricsBinder registerHystrixMetricsBinder() {
        return new HystrixMetricsBinder();
    }
}

遗憾的是,对于 Resilience4j,不存在活页夹。有一些关于如何将 Resilience4j CircuitBreakerRegistry 绑定到 Micrometer 的文档: https://resilience4j.readme.io/docs/micrometer 以及如何使用 Spring 进行操作: https://resilience4j.readme.io/docs/getting-started-3

我尝试简单地将 Resilience4j CircuitBreakerRegistry 自动连接到千分尺:

@Configuration()
public class MetricsRegistryBuilder {
@Autowired
private CircuitBreakerRegistry circuitBreakerRegistry;
}

不幸的是 Spring 没有找到 CircuitBreakerRegistry Bean。

因此,我的问题是,在将 Camel 与 Spring 结合使用时,如何将 CircuitBreakerRegistry 或更抽象的 Resilience4j 指标绑定到 Micrometer?

我能想到的唯一其他可能的解决方案是手动管理所有 Resilience4j 配置,定义 bean,然后将其交给我的 Camel 配置。考虑到绑定我的 Resilience4j 指标的简单任务,这在我看来似乎需要大量工作和样板代码。

我正在使用以下版本:

  • 骆驼 3.4.3
  • Spring 2.3.3.RELEASE
  • 测微计 1.5.4

我也在使用camel spring boot starter依赖:

    <dependency>
      <groupId>org.apache.camel.springboot</groupId>
      <artifactId>camel-micrometer-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.camel.springboot</groupId>
        <artifactId>camel-resilience4j-starter</artifactId>
    </dependency>

【问题讨论】:

    标签: spring-boot apache-camel spring-camel micrometer resilience4j


    【解决方案1】:

    为什么不能使用我们的 Spring Boot 2 Starter? Starter 自动配置 CircuitBreakerRegistry、MeterRegistry 并允许外部配置。

    【讨论】:

    • 我会调查的!我想知道启动器是否可以与骆驼实现一起使用,因为我已经在使用骆驼 Resilience4j 启动器...
    猜你喜欢
    • 2020-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-07
    • 2021-07-22
    • 1970-01-01
    • 2018-08-24
    • 2020-10-24
    相关资源
    最近更新 更多