小D课堂 - 新版本微服务springcloud+Docker教程_4-04 高级篇幅之服务间调用之负载均衡策略调整实战
笔记
4、高级篇幅之服务间调用之负载均衡策略调整实战
简介:实战调整默认负载均衡策略实战
自定义负载均衡策略:http://cloud.spring.io/spring-cloud-static/Finchley.RELEASE/single/spring-cloud.html#_customizing_the_ribbon_client_by_setting_properties
在配置文件yml里面,自定义负载均衡策略
#自定义负载均衡策略
product-service:
ribbon:
NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule
策略选择:
1、如果每个机器配置一样,则建议不修改策略 (推荐)
2、如果部分机器配置强,则可以改为 WeightedResponseTimeRule
开始
先回顾上节课的流程
chose方法里面有getServer方法
getServer一层层的调用,最后返回的是loadBalancer负载均衡器的策略
loadBalance里面有addServer增加服务的方法,chooseServer选择服务的方法
还有获取所有的服务的列表的方法 getAllServers
找到实现类 BaseLoadBalancer
baseLoadBalance里面这里 rule策略的choose方法
IRule是个接口
策略有很多,可以选择
默认的策略是一个轮询的方式。端口总是在轮流访问三个服务的方式
更改策略
官方文档地址
http://cloud.spring.io/spring-cloud-static/Finchley.RELEASE/single/spring-cloud.html#_customizing_the_ribbon_client_by_setting_properties
找到IRule的实现类,复制包名
配置的是全路径包名+类名的方式
验证
在这里加断点进行测试
访问接口
注意这里product-service中间是横线的
现在的模式就是随机的
现在是随机的,并不是按照三个服务轮流的来