(1)consumer工程新增依賴
說明:①由於spring-cloud-starter-eureka已經依賴了spring-cloud-starter-ribbon,所以不用再新增spring-cloud-starter-ribbon依賴了
②spring cloud 引入ribbon 配合resttemplate 實現客戶端負載均衡、此處需要引入okhttp依賴 (也可以使用apacheclient等其他遠端呼叫技術)
(2)配置ribbon引數
#配置ribbonribbon:
maxautoretries:
2#最大重試次數,當eureka中可以找到服務,但是連線不上時將會重試
maxautoretriesnextserver:
3#切換例項的重試次數、高可用場景
oktoretryonalloperation:
false
#對所有操作請求都進行重試,如果是get則可以,如果是post、put有重複提交的危險,建議設定為false
connecttimeout:
5000
#請求連線的超時時間
readtimeout:
6000 #請求處理的超時時間
(3)定義resttemplate
@bean@loadbalanced //使用該註解表示實現客戶端負載均衡
public
resttemplate resttemplate()
(4)啟動兩各producer工程,注意埠不同,註冊到eureka中
(5)測試**
@springboottest@runwith(springrunner.
class
)public
class
testribbon
}}
(1)區別服務端負載均衡和客戶端負載均衡
向nginx 、f5 等在請求發出之後,被負載均衡伺服器攔截再分發到具體服務的方式是服務端負載均衡,而ribbon是客戶端先從eureka server獲取服務列表,自己維護服務列表,根據負載均衡演算法直接請求資源伺服器的方式叫服務端負載均衡
(2)ribbon 實現客戶端負載均衡細節
在定義resttempalte時加@loadbalanced註解後、resttemplate會走loadbanlanceinterceptor***
ribbon客戶端負載均衡
ribbon會儲存註冊中心應用,然後定時去更新,而不是每次都要先訪問註冊中心,再訪問應用 依賴org.springframework.cloud spring cloud starter netflix ribbon 複製 配置resttemplate bean是乙個方法級別上的註解,主要用在 co...
客戶端負載均衡 Ribbon
1.集群user server c v 改東西 user server pom.xml user server 3001artifactid user server 3001name parent pm.xml user server 3001module eureka client service...
ribbon客戶端負載均衡
參考 ribbon是netflix發布的負載均衡器,它有助於控制http和tcp的客戶端的行為。為ribbon配置服務提供者位址後,ribbon就可基於某種負載均衡演算法,自動地幫助服務消費者去請求。ribbon預設為我們提供了很多負載均衡演算法,例如輪詢 隨機等。當然,我們也可為ribbon實現自...