在第一次訪問服務消費者的時候(消費者去調用服務提供者服務)會出現如下異常:
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
