再过一遍负载均衡流程
负载均衡服务调用流程:订单服务调用商品服务,根据服务名称,先从注册中心获取所有商品服务节点。LoadBalancerClient里的choose方法,choose里的getServer方法拿到所有服务列表,拿到之后,根据本地负载均衡策略rule,默认是轮询策略,再供给restTemplate使用
自定义负载均衡策略
Irule可根据官方文档查看负载均衡策略
负载均衡策略默认是轮询,通过配置文件的方式修改为随机
需要定义哪个服务就写哪个服务名称,比如需要调商品服务,就写商品服务的名称
如果每台机器配置一样,一般情况下策略是不用改的
但比如某台机器配置比较好,就让这台机器节点多选中一些,使用权重配置文件改为WeightedResponseTimeRule
#修改负载均衡策略
product-service:
ribbon:
#定义的全路径名称
NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule
重新访问接口可显示,节点都是以随机的方式