SpringCloud Netflix Ribbonのデフォルトの負荷分散ポリシーの変更


SpringCloud Netflix Ribbonのデフォルトの負荷分散ポリシーの変更


説明:


この論文では,Ribbonベースのサービス消費者クライアント負荷等化に基づいて実現する必要がある.Netflix Ribbonデフォルトのロード・バランシング・ポリシーはポーリング・ポリシーです.

Spring Cloud Netflix Ribbon負荷分散ポリシーの紹介

  • BestAvailableRule:最小同時要求のserver
  • を選択
  • AvailabilityFilteringRule:接続に失敗していたcircuit
  • とマークされているものをフィルタします.
  • trippedのバックエンドserverをフィルタリングし、高同時バックエンドserver(active connectionsが構成のしきい値を超える)
  • をフィルタリングする.
  • WeightedResponseTimeRule:対応する時間に応じてweightを割り当て、対応する時間が長ければ長いほどweightが小さくなり、選択される可能性は低くなります.
  • RetryRule:選択したロード・バランシング・ポリシー・マシンでメカニズムを再試行します.RoundRobinRule:ポーリング選択server
  • RandomRule:server
  • をランダムに選択
  • ZoneAvoidanceRule:serverが存在する領域の性能とserverの可用性を複合的に判断する選択server
  • Netflix Ribbonのデフォルト負荷分散の変更


    従来のJava構成にIRule構成を追加し、負荷ポリシーを返します.
    @Bean
    public IRule irule() {
        //  
        return new RandomRule();
    }

    ソースリンク:https://github.com/myNameIssls/springcloud-study/blob/master/springcloud-service-consumer/src/main/java/cn/tyrone/springcloud/service/consumer/config/BeanConfig.java