🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 配置 Zuul中默认就已经集成了Ribbon负载均衡和Hystix熔断机制。但是所有的超时策略都是走的默认值,比如熔断超时时间只有1S,很容易就触发了。因此建议我们手动进行配置: ``` zuul: retryable: true ribbon: ConnectTimeout: 500 # 连接超时时间(ms) ReadTimeout: 2000 # 通信超时时间(ms),超时时长不能超过hystrix的熔断时长 OkToRetryOnAllOperations: true # 是否对所有操作重试 MaxAutoRetriesNextServer: 2 # 同一服务不同实例的重试次数 MaxAutoRetries: 1 # 同一实例的重试次数 hystrix: command: default: execution: isolation: thread: timeoutInMillisecond: 6000 # 熔断超时时长:6000ms ``` ## 注意 ConnectTimeout(连接超时时长) + ReadTimeout(读取超时时长) 是2500. 但是ribbon会进行一次重试. 那么默认就是(ConnectTimeout+ReadTimeout) * 2 是真正的总超时时长.所以timeoutInMillisecond熔断的时长必须要超过这个时间,否则会报错. 或者把ribbon的MaxAutoRetries设为0,那么久不进行重试了.