fegin |
connectTimeout 连接超时时间 默认1S. 建议 1S
readTimeout 读取超时时间 默认1S。 建议 1~2S
因网络一般情况下较稳定,连接很少出现问题,connectTimeout可设置短一些
但是读取时因为网络波动等情况出状况的可能性更大一些,建议设置稍长一些(依据服务下游接口耗时情况)
hystrix 是否开启熔断机制 (依据情况开启),默认关闭,开启后参考hystrix配置。不建议打开
|
java.net.SocketException: connetct time out
Java.net.SocketException: read time out
在发生j.l.RuntimeException 后,会打开断路器,不再尝试执行实际方法(一段时间内直接走fallback)
|
feign: client: config: default: connectTimeout: 1000 readTimeout: 2000
feign: hystrix: enabled: false
|
hystrix熔断 |
metrics.rollingStats.timeInMilliseconds |
统计时间窗。 |
circuitBreaker.sleepWindowInMilliseconds |
休眠时间窗,熔断开启状态持续一段时间后,熔断器会自动进入半熔断状态,这段时间就被称为休眠窗口期。 |
circuitBreaker.requestVolumeThreshold |
请求总数阀值。
在统计时间窗内,请求总数必须到达一定的数量级,Hystrix 才可能会将熔断器打开进入熔断开启转态,而这个请求数量级就是 请求总数阀值。Hystrix 请求总数阈值默认为 20,这就意味着在统计时间窗内,如果服务调用次数不足 20 次,即使所有的请求都调用出错,熔断器也不会打开。 |
circuitBreaker.errorThresholdPercentage |
错误百分比阈值。
当请求总数在统计时间窗内超过了请求总数阀值,且请求调用出错率超过一定的比例,熔断器才会打开进入熔断开启转态,而这个比例就是错误百分比阈值。错误百分比阈值设置为 50,就表示错误百分比为 50%,如果服务发生了 30 次调用,其中有 15 次发生了错误,即超过了 50% 的错误百分比,这时候将熔断器就会打开。 |
|
|
hystrix: command: default: metrics: rollingStats: timeInMilliseconds: 1000 circuitBreaker: sleepWindowInMilliseconds: 10000 requestVolumeThreshold: 10 errorThresholdPercentage: 60
|
hystrix超时 |
timeout enabled 开启hystrix请求超时机制。默认true。false则永不超时。建议使用默认配置即可
timeoutInMilliseconds 在客户端配置,客户端调用的所有方法的超时时间都是该值。timeoutInMilliseconds 和 fegin的readTimeout同时存在,则谁小谁生效
|
|
hystrix: command: default: execution: isolation: thread: timeoutInMilliseconds: 3000
|
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署