Ribbon負載均衡的實現

2022-07-29 17:06:29 字數 1336 閱讀 5183

一.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...