避坑配置connectTimeout和readTimeout
坑點1:
feign客戶端默認(rèn)2個超時時間是1s
# 修改全局默認(rèn)值:
feign.client.config.default.readTimeout=3000
feign.client.config.default.connectTimeout=3000
坑點2:
如果要配置 Feign 的讀取超時争剿,就必須同時配置連接超時浸赫,connectTimeout和readTimeout 同時
配置才能生效编丘。
坑點3:
對單獨的 Feign Client 設(shè)置超時時間,可以把 default 替換為 Client 的 name:
feign.client.config.default.readTimeout=3000
feign.client.config.default.connectTimeout=3000
feign.client.config.clientname.readTimeout=2000
feign.client.config.clientname.connectTimeout=2000
單獨的超時可以覆蓋全局超時丝里,這符合預(yù)期对途,不算坑
坑點4:
除了可以配置 Feign絮短,也可以配置 Ribbon 組件的參數(shù)來修改兩個超時時間。
坑點4是喧锦,參數(shù)首字母要大寫读规,和 Feign 的配置不同。
ribbon.ReadTimeout=4000
ribbon.ConnectTimeout=4000
結(jié)論:同時配置 Feign 和 Ribbon 的超時燃少,以 Feign 為準(zhǔn)
clientname.ribbon.listOfServers=localhost:8080
feign.client.config.default.readTimeout=3000
feign.client.config.default.connectTimeout=3000
ribbon.ReadTimeout=4000
ribbon.ConnectTimeout=4000