Fork me on GitHub

Spring Cloud中,如何解决Feign/Ribbon第一次请求失败的问题?

Spring Cloud中,Feign和Ribbon在整合了Hystrix后,可能会出现首次调用失败的问题,要如何解决该问题呢? TIPS 本文于2019-01-10更新,基于Spring Cloud Finchley。 造成该问题的原因Hystrix默认的超时时间是1秒,如果超过这个时间尚未响应,将会进入fallback代码。而首次请求往往会比较慢(由于Ribbon是懒加载的,在首次请求时,才会开始初始化相关类),这个响应时间可能就大于1秒了。知道原因后,我们来总结一下解决方案。以feign为例,解决方案有如下四种。…