开发者社区> 问答> 正文

使用 OpenFeign 组件的应用在 ARMS 中数据不完整怎么办?

使用 OpenFeign 组件的应用在 ARMS 中数据不完整怎么办?

展开
收起
保持可爱mmm 2020-03-28 20:09:14 786 0
1 条回答
写回答
取消 提交回答
  • 若您的 OpenFeign 应用接入 ARMS 应用监控后,出现数据不完整、看不到下游应用的数据等情况,可能是由于 OpenFeign 组件默认开启了使用 RxJava 异步框架的Hystrix,而 ARMS 不支持异步框架导致的。

    说明 本文仅限于 ARMS 应用监控 Java 探针版本低于 2.6.0 的场景,2.6.0 及以上版本已支持异步框架。 您可以通过关闭 Hystrix 并配置 OkHttp 请求类来解决此类问题。 在 pom.xml 文件中添加以下依赖。

    io.github.openfeign feign-okhttp 在 SpringCloud 配置文件中添加以下配置。

    feign.okhttp.enabled: true feign.hystrix.enabled: false
    配置 OkHttp 请求类。

    @Configuration @ConditionalOnClass(Feign.class) @AutoConfigureBefore(FeignAutoConfiguration.class) public class FeignClientOkHttpConfiguration {

    @Bean
    public OkHttpClient okHttpClient() {
        return new OkHttpClient.Builder()
                // 连接超时
                .connectTimeout(20, TimeUnit.SECONDS)
                // 响应超时
                .readTimeout(20, TimeUnit.SECONDS)
                // 写超时
                .writeTimeout(20, TimeUnit.SECONDS)
                // 是否自动重连
                .retryOnConnectionFailure(true)
                // 连接池
                .connectionPool(new ConnectionPool())
                .build();
    }                
    
    2020-03-28 20:12:54
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
微服务架构的应用性能监控 立即下载
《阿里云云拨测发布》PDF 立即下载
Elasticsearch全观测技术解析与应用(构建日志、指标、APM统一观测平台) 立即下载