小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

开始

先回顾上节课的流程
小D课堂 - 新版本微服务springcloud+Docker教程_4-04 高级篇幅之服务间调用之负载均衡策略调整实战..._第1张图片
chose方法里面有getServer方法
小D课堂 - 新版本微服务springcloud+Docker教程_4-04 高级篇幅之服务间调用之负载均衡策略调整实战..._第2张图片
getServer一层层的调用,最后返回的是loadBalancer负载均衡器的策略

loadBalance里面有addServer增加服务的方法,chooseServer选择服务的方法
小D课堂 - 新版本微服务springcloud+Docker教程_4-04 高级篇幅之服务间调用之负载均衡策略调整实战..._第3张图片
还有获取所有的服务的列表的方法 getAllServers
小D课堂 - 新版本微服务springcloud+Docker教程_4-04 高级篇幅之服务间调用之负载均衡策略调整实战..._第4张图片
找到实现类 BaseLoadBalancer
小D课堂 - 新版本微服务springcloud+Docker教程_4-04 高级篇幅之服务间调用之负载均衡策略调整实战..._第5张图片
baseLoadBalance里面这里 rule策略的choose方法
小D课堂 - 新版本微服务springcloud+Docker教程_4-04 高级篇幅之服务间调用之负载均衡策略调整实战..._第6张图片
小D课堂 - 新版本微服务springcloud+Docker教程_4-04 高级篇幅之服务间调用之负载均衡策略调整实战..._第7张图片


小D课堂 - 新版本微服务springcloud+Docker教程_4-04 高级篇幅之服务间调用之负载均衡策略调整实战..._第8张图片
IRule是个接口
小D课堂 - 新版本微服务springcloud+Docker教程_4-04 高级篇幅之服务间调用之负载均衡策略调整实战..._第9张图片
策略有很多,可以选择
小D课堂 - 新版本微服务springcloud+Docker教程_4-04 高级篇幅之服务间调用之负载均衡策略调整实战..._第10张图片

默认的策略是一个轮询的方式。端口总是在轮流访问三个服务的方式
小D课堂 - 新版本微服务springcloud+Docker教程_4-04 高级篇幅之服务间调用之负载均衡策略调整实战..._第11张图片

更改策略


官方文档地址
http://cloud.spring.io/spring-cloud-static/Finchley.RELEASE/single/spring-cloud.html#_customizing_the_ribbon_client_by_setting_properties
小D课堂 - 新版本微服务springcloud+Docker教程_4-04 高级篇幅之服务间调用之负载均衡策略调整实战..._第12张图片

小D课堂 - 新版本微服务springcloud+Docker教程_4-04 高级篇幅之服务间调用之负载均衡策略调整实战..._第13张图片
找到IRule的实现类,复制包名
小D课堂 - 新版本微服务springcloud+Docker教程_4-04 高级篇幅之服务间调用之负载均衡策略调整实战..._第14张图片
配置的是全路径包名+类名的方式
小D课堂 - 新版本微服务springcloud+Docker教程_4-04 高级篇幅之服务间调用之负载均衡策略调整实战..._第15张图片
 

验证

小D课堂 - 新版本微服务springcloud+Docker教程_4-04 高级篇幅之服务间调用之负载均衡策略调整实战..._第16张图片
在这里加断点进行测试
小D课堂 - 新版本微服务springcloud+Docker教程_4-04 高级篇幅之服务间调用之负载均衡策略调整实战..._第17张图片
访问接口

注意这里product-service中间是横线的
小D课堂 - 新版本微服务springcloud+Docker教程_4-04 高级篇幅之服务间调用之负载均衡策略调整实战..._第18张图片
现在的模式就是随机的
小D课堂 - 新版本微服务springcloud+Docker教程_4-04 高级篇幅之服务间调用之负载均衡策略调整实战..._第19张图片
现在是随机的,并不是按照三个服务轮流的来
小D课堂 - 新版本微服务springcloud+Docker教程_4-04 高级篇幅之服务间调用之负载均衡策略调整实战..._第20张图片

 

转载于:https://www.cnblogs.com/wangjunwei/p/11444179.html

你可能感兴趣的:(小D课堂 - 新版本微服务springcloud+Docker教程_4-04 高级篇幅之服务间调用之负载均衡策略调整实战...)