Ribbon 負載均衡 源碼分析

1.負載均衡Ribbon

當使用Eureka 作爲註冊中心的時候 Eureka 裏面已經默認集成了 Ribbon 了(還是 用Feign 集成了的) 我們只需要通過服務名 就可以直接訪問了。就是根據LoadBalancerInterceptor,這個類會在對請求進行攔截,然後從Eureka根據服務id獲取服務列表,隨後利用負載均衡算法得到真實的服務地址信息,替換服務id。

在這裏插入圖片描述
繼續跟入execute方法
在這裏插入圖片描述
發現這裏有一個獲取服務的方法 繼續跟進
在這裏插入圖片描述
這裏有一個rule 他在構造的時候進行了初始化 是一個 IRule 接口下面的 RoundRobinRule

在這裏插入圖片描述在這裏插入圖片描述
在 iRule 下面有好多算法 輪詢只是其中的一種
在這裏插入圖片描述

我們可以再yml 中配置這種算法, 這裏指定一個隨機算法

you-service:
  ribbon:
    NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章