1.負載均衡Ribbon
當使用Eureka 作爲註冊中心的時候 Eureka 裏面已經默認集成了 Ribbon 了(還是 用Feign 集成了的) 我們只需要通過服務名 就可以直接訪問了。就是根據LoadBalancerInterceptor
,這個類會在對請求進行攔截,然後從Eureka根據服務id獲取服務列表,隨後利用負載均衡算法得到真實的服務地址信息,替換服務id。
繼續跟入execute方法
發現這裏有一個獲取服務的方法 繼續跟進
這裏有一個rule 他在構造的時候進行了初始化 是一個 IRule 接口下面的 RoundRobinRule
在 iRule 下面有好多算法 輪詢只是其中的一種
我們可以再yml 中配置這種算法, 這裏指定一個隨機算法
you-service:
ribbon:
NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule