网站建设php心得体会长尾关键词查询
目录
第一种: failed and no fallback available
1 服务挂掉了
2 服务没有开启
3 注册中心没注册进去
-> ps: 直接调用的接口 通过网关转发失败 会报503
4 高并发下的服务熔断了
第二种: timed-out and no fallback
2.1 业务场景: A服务一切正常 但是B服务显示timeout
2.2 改进三种参数 feign hystrix ribbon
->2.2.1 feign参数配置
->2.2.2 hystrix的超时时间
-> 2.2.3 ribbon 重试机制配置
-> 2.2.4 注意事项
-> 2.2.5 整体配置yml(复制即可)
第一种: failed and no fallback available
1 服务挂掉了
2 服务没有开启
3 注册中心没注册进去
-> ps: 直接调用的接口 通过网关转发失败 会报503
4 高并发下的服务熔断了
第二种: timed-out and no fallback
2.1 业务场景: A服务一切正常 但是B服务显示timeout
ps: 如果没有报错, 只显示回调callBack 请先注释掉fallback后 查看报错即可
2.2 改进三种参数 feign hystrix ribbon
yml配置如下:
->2.2.1 feign参数配置
feign:hystrix:enabled: true #是否开启熔断策略client:config:default:connectTimeout: 40000 readTimeout: 40000
->2.2.2 hystrix的超时时间
hystrix:command:default:execution:timeout:enabled: trueisolation:thread:timeoutInMilliseconds: 15000 #设置调用者等待命令执行的超时限制,超过此时间,HystrixCommand被标记为TIMEOUT,并执行回退逻辑circuitBreaker:requestVolumeThreshold: 200 #设置在一个滚动窗口中,打开断路器的最少请求数sleepWindowInMilliseconds: 5000 #设置在回路被打开,拒绝请求到再次尝试请求并决定回路是否继续打开的时间errorThresholdPercentage: 50 #设置打开回路并启动回退逻辑的错误比率threadpool:default:coreSize: 200 #核心线程数maxQueueSize: 200 #最大队列数queueSizeRejectionThreshold: 160 #队列拒绝阈值设置
-> 2.2.3 ribbon 重试机制配置
ribbon:ReadTimeout: 10000 #读取超时时间ConnectTimeout: 3000 #链接超时时间MaxAutoRetries: 1 #同一台实例最大重试次数,不包括首次调用MaxAutoRetriesNextServer: 1 #重试负载均衡其他的实例最大重试次数,不包括首次调用OkToRetryOnAllOperations: false #是否所有操作都重试
-> 2.2.4 注意事项
三个配置 yml的顶格,直接复制, 然后进行测试即可
-> 2.2.5 整体配置yml(复制即可)
# pzy最新升级版 feign配置远程调用超时时间
# 细节请看csdn博客
feign:hystrix:enabled: trueclient:config:default:connectTimeout: 40000readTimeout: 40000
#pzy最新升级版 hystrix的超时时间
hystrix:command:default:execution:timeout:enabled: trueisolation:thread:timeoutInMilliseconds: 15000circuitBreaker:requestVolumeThreshold: 200sleepWindowInMilliseconds: 5000errorThresholdPercentage: 50threadpool:default:coreSize: 200maxQueueSize: 200queueSizeRejectionThreshold: 160
# pzy最新升级版 feign配置远程调用超时时间
ribbon:ReadTimeout: 12000ConnectTimeout: 3000MaxAutoRetries: 1MaxAutoRetriesNextServer: 1OkToRetryOnAllOperations: false