• 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

  • 相关阅读:
    14.18 InnoDB Backup and Recovery 备份和恢复:
    14.18 InnoDB Backup and Recovery 备份和恢复:
    php使用 _before_index() 来实现访问页面前,判断登录
    php使用 _before_index() 来实现访问页面前,判断登录
    查询方式实例演示
    查询方式实例演示
    haproxy timeout server 46000 后台超时时间
    haproxy timeout server 46000 后台超时时间
    14.10.5 Reclaiming Disk Space with TRUNCATE TABLE 回收空间使用TRUNCATE TABLE
    14.10.5 Reclaiming Disk Space with TRUNCATE TABLE 回收空间使用TRUNCATE TABLE
  • 原文地址:https://www.cnblogs.com/holly8/p/11055177.html
Copyright © 2020-2023  润新知