Ribbon的負載均衡策略


Ribbon的默認內置了7種負載均衡策略:

 

1、RoundRobinRule

  輪詢策略,Rabbon默認采用的策略,若經過一輪輪詢沒有找到可用的provider(提供者),其最多輪詢10輪,若最終

      沒有找到,則返回NULL。

      舉例:當前有3個提供者A,B,C,先挨個輪詢1遍,A,B,C都不訪問(1輪),在A,B,C訪問一遍(2輪次),一共試10輪

                如果還不能訪問,則返回NULL。

 

2、RandomRule

  隨機策略,從所有可用的provider(提供者)中選擇一個。

 

3、RetryRule

  重試策略,先按照RoundRobinRule策略獲取provider(策略者)能獲取到直接返回,若獲取失敗,則在指定的時限內重試,

       默認的時限為500毫秒。【RoundRobinRule輪詢策略,默認是10輪,而RetryRule我給你500毫秒,你可以一直重試,直到找到為止】

 

4、BestAvailableRule

  最可用策略。選擇並發量最小的provider(提供者), 即連接的消費者數量最少的provider 。

 

5、AvailabilityFilteringRule

  可用過濾算法。該算法規則是:過濾掉處於熔斷狀態的provider與已經超過連接極限的provider,對剩余provider采用輪詢策略。

 

6、ZoneAvoidanceRule

  zone回避策略。根據provider所在zone及provider的可用性,對provider進行選擇。

 

7、WeightedResponseTimeRule

  “權重響應時間”策略。根據每個provider的平均響應時間計算其權重,響應時間越快權重越大,被選中的機率就越高。

     在剛啟動時采用輪詢策略。后面就會根據權重進行選擇了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM