一.ribbon自己提供的七種策略
1.1 ribbon提供的策略及其功能效果介紹
輪詢:乙個節點一次無限迴圈的調。
隨機:如其名隨機的,服務節點隨機無規則的調。
重試:按照輪詢的策略獲取服務,如果失敗則會在指定的時間內一直重試輪詢獲取可用服務,預設時間500毫秒,可自定義時間。
權重:初始化時去統計每乙個服務的權重,時間越長,權重(weight)越小,被選中的可能性就越小。
空閒:過濾掉由於多次訪問故障而處於斷路器跳閘狀態的服務,然後選擇乙個併發量最小的服務。
過濾:先過濾掉由於多次訪問故障而處於熔斷器跳閘狀態的服務,還有併發的連線數量超過閾值的服務,然後對剩餘的服務列表按照輪詢策略進行訪問
大區過濾:先過濾調不可用的區域服務,在過濾調有故障或者超閾值的服務,剩下的服務輪詢
1.2 實現方式
二.自定義演算法
ribbon中具體實現負載均衡的策略是通過irule這個介面來實現的,介面實現結構圖
name:指定對使用演算法的服務名稱selfrule.class) 配置
注意:
從上面這段話的意思是說,自定義的myselfrule類不能和啟動類在同級或者同乙個包下
2.2 eureka結合ribbon負載均衡時如何呼叫,下圖為呼叫實列:
productaclient:服務的名稱
getuser:在該服務下的節點中的提供呼叫的服務方法方法
ribbon實現負載均衡
1 在客戶端新增依賴 org.springframework.cloud spring cloud starter netflix ribbon 2.1.1.release 2 客戶端 啟動類 enablediscoveryclient public static void main string ...
Ribbon實現負載均衡
環境 idea,springboot2.3.1 eureka7001這個是我本地配置了hosts,可以改為localhost 完成之後在啟動類新增相應註解 enableeurekaserver enableeurekaserver public static void main string arg...
Ribbon負載均衡
在resttemplate feign zuul中都整合了ribbon負載均衡,其中ribbon負載均衡通過iruler介面來實現,總共有6種實現類 其中預設配置方式為簡單輪詢,自定義配置有兩種 1 配置config ribbonclients defaultconfiguration defaul...