• springcloud(十三):Ribbon客户端负载均衡实例


    一、采用默认的负载均衡策略:RoundRobinRule 轮询策略

    1.修改提供者原的控制类

    在之前的eureka-client-provider项目的CenterController.java中加入如下代码

      private Logger logger= LoggerFactory.getLogger(CenterController.class);
    
        @RequestMapping("/ribbon.do")
        public String ribbonTest(@RequestParam("count") Integer count){
            logger.info("provider>>> "+count+" <<<eureka-client-provider-8762");
            return "provider的ribbon测试";
        }

    2.重新创建一个提供者客户端项目eureka-client-provider-second

    编写之后在创建一个和eureka-client-provider一模一样的提供者项目,除了重新定义一个8769端口号之外,其他代码全部一样;

    3.在eureka-client-consumer项目

    的pom.xml中添加如下依赖

     <!--@ribbon-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-ribbon</artifactId>
            </dependency>

    4.修改eureka-client-consumer项目的feign接口

    在ClassesFeign.java文件中添加如下内容

    @RequestMapping("/ribbon.do")
    public String ribbonTest(@RequestParam("count")int count);

    5.修改eureka-client-consumer项目的controller类

    在ClassesController.java中添加如下内容

     @RequestMapping("/ribbontest.do")
        public String ribbonTest(){
            for(Integer i=0;i<10;i++){
                //多次调用provider服务
                classesFeign.ribbonTest(i);
            }
            return "ribbon负载";
        }

    6. 按照以下方式启动项目

    eureka-server、eureka-client-provider、eureka-client-provider-second、eureka-client-consumer

    7.访问地址

     

     二、采用随机的负载均衡策略:RandomRule 随机策略

    1.在eureka-client-consumer项目中添加如下属性配置

    #设置负载均衡策略为随机分配RandomRule,如果不设置以下属性则默认值为RoundRobinRule 轮询策略
    client-school-provider.ribbon.NFLoadBalancerRuleClassName=com.netflix.loadbalancer.RandomRule

    2.重启项目在运行

    此帖子为原创

    作者:红酒人生  

    联系方式:微信/QQ:964918306

    转载请注明出处:https://www.cnblogs.com/holly8/p/11055177.html

  • 相关阅读:
    PDF 中的对象
    关于注释
    显示简单图形
    TColor 与 RGB 的转换函数
    关于运算符
    10 进制转 2 进制、16 进制
    Pascal 语言中的关键字及保留字
    语言字符集
    Async Java HTTP client
    老梁刨楚汉
  • 原文地址:https://www.cnblogs.com/holly8/p/11055177.html
Copyright © 2020-2023  润新知