SpringCloud服務消費者第一次調用出現超時問題的解決方案


在第一次訪問服務消費者的時候(消費者去調用服務提供者服務)會出現如下異常:

com.netflix.hystrix.exception.HystrixRuntimeException: TestService#hello(String) timed-out and no fallback available

解決方案是在application.properties增加如下配置信息:

#hystrix調用方法的超時時間,默認是1000毫秒
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=5000

 更絕的一個方案是直接禁用hystrix:

feign.hystrix.enabled=false

 

參考文章:http://www.tuicool.com/articles/vAr6Rb2

https://yq.aliyun.com/articles/61510

 

20190409補充:

服務第一次調用其實設計到多個層面。

1、服務本身:

springmvc servlet的延遲初始化:

#spring mvc的servlet在容器啟動后立刻初始化
spring.mvc.servlet.load-on-startup=1

數據庫連接池的初始化

 

2、ribbon的初始化

默認是懶初始化的,這里會耗一些時間,可以在容器啟動的時候就去初始化ribbon

ribbon:
  eager-load:
    enabled: true
    clients: client1, client2, client3

 

參考:https://www.jianshu.com/p/75dbcf3d7904


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM