天天看點

Spring Cloud feign 服務逾時處理

Spring Cloud中,Feign和Ribbon在整合了Hystrix後,可能會出現首次調用失敗的問題

造成該問題的原因

Hystrix預設的逾時時間是1秒,如果超過這個時間尚未響應,将會進入fallback代碼。而首次請求往往會比較慢(因為Spring的懶加載機制,要執行個體化一些類),這個響應時間可能就大于1秒了

解決方案有三種,以feign為例。

方法一

hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 5000

該配置是讓Hystrix的逾時時間改為5秒

方法二

hystrix.command.default.execution.timeout.enabled: false

該配置,用于禁用Hystrix的逾時時間

方法三

feign.hystrix.enabled: false

該配置,用于索性禁用feign的hystrix。該做法除非一些特殊場景,不推薦使用。

null