1. 程式人生 > >Spring cloud 微服務架構之Ribbon/Fegin連線超時ReadTimeout問題

Spring cloud 微服務架構之Ribbon/Fegin連線超時ReadTimeout問題

問題描述:

近期用Spring cloud 開發微服務架構時候,在服務與服務之間呼叫除錯程式碼時候,出現連結超時。

錯誤資訊:

Read timed out executing GET http://service-batch/batchmanagement/datatransfer/querybyplanid?planid=PL00000102。

發生原因:

用IDE開發Debug模式除錯程式碼時候,在處理該服務與其他服務呼叫時候,由於debug模式除錯程式碼花費一些時間,結果出現Fegin 連線超時問題。

解決辦法:

application.properice屬性檔案中新增

#Fegin 連線超時

ribbon.ReadTimeout=60000
ribbon.ConnectTimeout=60000
ribbon.MaxAutoRetries=0
ribbon.MaxAutoRetriesNextServer=1
 

技術講解:

微服務間呼叫其實走的是http請求,debug了一下預設的ReadTimeout時間為5s,ConnectTimeout時間為2s,

我使用的是Fegin進行微服務間呼叫,底層用的還是Ribbon。