ribbon實現了負載均衡,若是訪問某服務的A節點超時後,會觸發ribbon的重試機制服務器
application.properties,配置文件中的全局設置設置:app
ribbon.eureka.enabled=true ribbon.ReadTimeout=6000 #讀取超時 ribbon.ConnectTimeout=6000 #鏈接超時 ribbon.MaxAutoRetries=1 #重試次數 ribbon.MaxAutoRetriesNextServer=2 ribbon.OkToRetryOnAllOperations=false
ribbon.MaxAutoRetries 設置爲1,鏈接服務器,或者讀取數據超時,後準備重試,該重試策略會先嚐試再訪問該實例,若是失敗1次以後才更換實例訪問。
ribbon.MaxAutoRetriesNextServer 決定了嘗試更換2次實例負載均衡
若是兩次實例訪問也失敗了,怎麼辦?請求就失敗了?微服務
局部設置spa
serverid.ribbon.eureka.enabled=true serverid.ribbon.ReadTimeout=6000 #讀取超時 serverid.ribbon.ConnectTimeout=6000 #鏈接超時 serverid.ribbon.MaxAutoRetries=1 #重試次數 serverid.ribbon.MaxAutoRetriesNextServer=2 serverid.ribbon.OkToRetryOnAllOperations=false
微服務間調用其實走的是http請求,debug了一下默認的ReadTimeout時間爲5s,ConnectTimeout時間爲2s,debug