一、负载均衡流程
1.发起http请求
2.RibbonLoadBalancerClient拦截请求并请求DynamicServerListLoadBalancer
3.DynamicServerListLoadBalancer请求euraka-server返回请求服务列表,收到服务列表后,请求IRule,根据IRule(选择服务的规则)选择服务
4.RibbonLoadBalancerClient修改url地址,发送请求
二、IRule
三、在代码中改变选择服务的规则,即改变IRule
1.代码方式(需要重新打包发布)
2.修改配置文件(无需重新打包,但是没办法做全局配置)
userservice:
ribbon:
NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule #负载均衡规则
四、饥饿加载
Ribbon启用懒加载(使用时再加载服务列表),即第一次唤起userservice时需要intial很多东西,所以会导致第一次访问http://localhost:8080/order/105需要很长的时间,但是第二次刷新的时间却很短
而饥饿加载是,启动时就直接加载服务列表(还要配置对哪个服务进行饥饿加载)
配置饥饿加载: