負載均衡⼀般分為伺服器端負載均衡
和客戶端負載均衡
所謂伺服器端負載均衡,⽐如nginx、f5這些,請求到達伺服器之後由這些負載均衡器根據⼀定的演算法將請求路由到⽬標伺服器處理。
所謂客戶端負載均衡,⽐如我們要說的ribbon,服務消費者客戶端會有⼀個伺服器位址列表,調⽤⽅在請求前通過⼀定的負載均衡演算法選擇⼀個伺服器進⾏訪問,負載均衡演算法的執⾏是在請求客戶端進⾏。
ribbon是netflix發布的負載均衡器。eureka⼀般配合ribbon進⾏使⽤,ribbon利⽤從eureka中讀取到服務資訊,在調⽤服務提供者提供的服務時,會根據⼀定的演算法進⾏負載
不需要引⼊額外的jar座標,因為在服務消費者中我們引⼊過eureka-client,它會引⼊ribbon相關jar
**中使⽤如下,在resttemplate上新增對應註解即可
@bean
// ribbon負載均衡
@loadbalanced
public resttemplate getresttemplate()
ribbon內建了多種負載均衡策略,內部負責複雜均衡的頂級接⼝為com.netflix.loadbalancer.irule
,類樹如下
修改負載均衡策略
#針對的被調⽤⽅微服務名稱,不加就是全域性⽣效
service-resume
:ribbon
:nfloadbalancerruleclassname
: com.netflix.loadbalancer.randomrule #負載策略調
整
Ribbon負載均衡
在resttemplate feign zuul中都整合了ribbon負載均衡,其中ribbon負載均衡通過iruler介面來實現,總共有6種實現類 其中預設配置方式為簡單輪詢,自定義配置有兩種 1 配置config ribbonclients defaultconfiguration defaul...
Ribbon負載均衡
ribbon主要功能是提供客戶端的軟體負載均衡演算法,提供一系列完整的配置項,例如連線超時 重試等。在eureka的自動配置依賴模組spring cloud starter eureka中,已經整合了ribbon,可以直接使用ribbon來實現客戶端的負載均衡 在eureka中使用ribbon十分簡...
Ribbon負載均衡
什麼是負載均衡?負載均衡 簡單的講就是將使用者的請求均勻的分發到多台伺服器上。使用ribbon實現負載均衡 因為eureka中已經整合了ribbon,所以我們無需引入新的依賴,直接修改 在呼叫服務方加註解,本次使用的是spring在resttemplate的配置方法上新增 loadbalanced註...