小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中间是横线的

现在的模式就是随机的

现在是随机的,并不是按照三个服务轮流的来


 

posted @ 2019-09-01 23:07  高山-景行  阅读(245)  评论(0编辑  收藏  举报