微服務呼叫時的超時異常,使用feign的時候負載均衡策略的調整
阿新 • • 發佈:2018-11-02
1.超時:比如訂單服務調order-service用商品服務product-service的介面:
此介面需要一定的響應時間,呼叫它的時候會遇到此異常
解決辦法,在order-service配置檔案application.yml裡設定超時時間:
超時配置:
預設optons readtimeout是60,但是由於hystrix預設是1秒超時,所以響應超過1秒則為超時
server: port: 8781 #指定註冊中心地址 eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ #服務的名稱 spring: application: name: order-service #自定義負載均衡策略 product-service: ribbon: NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule #修改呼叫超時時間2s feign: client: config: default: connectTimeout: 2000 readTimeout:2000
2.使用feign的時候負載均衡策略的調整
ribbon和feign兩個的區別和選擇
開發的時候選擇feign
1.預設集成了ribbon
2.起來更加思路清晰和方便
3.採用註解方式進行配置,配置熔斷等方式方便
所以:
feign配置負載均衡和ribbon一樣,不配置預設輪詢,
配置了ribbon就是配置feign,如上面檔案的配置