spring cloud common模块更新后,需要同步更新哪些服务?

首先common没有启动类,他里面放的是一些静态资源,公共代码。

理论上是需要更新所有依赖common模块的,就是maven依赖里面引用common包的都需要更新,但是这样太麻烦了。

一般可以只更新需要依赖这一变动的服务。如果有feign调用,需要更新调用方,被调用方和网关gateway

 

记录一个线上feign调用失败,但是本地feign调用成功的情况。

首先说明这不是代码层级的问题,否则本地不会掉成功。

1.排查配置是否一致

2.排查数据库sql是否同步更新

我们这个是前端页面显示正常返回,但是被调用方里的日志没有打印,然后ClientFallbackImpl这个类的日志打印了。说明调用失败

最后排查原因是因为超时熔断了。

下面是feign的几个配置

 

feign.hystrix.enabled=false //Feign是否启用断路器,默认为false
feign.client.config.default.connectTimeout=10000 //Feign的连接建立超时时间,默认为10秒
feign.client.config.default.readTimeout=60000 //Feign的请求处理超时时间,默认为60秒
feign.client.config.default.retryer=feign.Retryer.Default //Feign使用默认的超时配置,在该类源码中可见,默认单次请求最大时长1秒,重试5次

 

所以应该是建立连接的时候就超时了,否则被调用方的日志会打印出来。

然后第一次feign调用的时候建立连接时间会比较长,需要把feign.client.config.default.connectTimeout 这个参数调长一些,一般线上3~5秒

posted @ 2023-07-24 15:49  了悟  阅读(98)  评论(0编辑  收藏  举报