springcloud(十三):Ribbon客戶端負載均衡實例

1、採用默認的負載均衡策略:RoundRobinRule 輪詢策略

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

在以前的eureka-client-provider項目的CenterController.java中加入以下代碼html

  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端口號以外,其餘代碼所有同樣;java

 

3.在eureka-client-consumer項目

的pom.xml中添加以下依賴spring

 <!--@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中添加以下內容app

 @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.訪問地址

 

 

 

 2、採用隨機的負載均衡策略:RandomRule 隨機策略

1.在eureka-client-consumer項目中添加以下屬性配置dom

#設置負載均衡策略爲隨機分配RandomRule,若是不設置如下屬性則默認值爲RoundRobinRule 輪詢策略
client-school-provider.ribbon.NFLoadBalancerRuleClassName=com.netflix.loadbalancer.RandomRule

 

2.重啓項目在運行ide

 

 

此帖子爲原創測試

做者:紅酒人生  spa

聯繫方式:微信/QQ:964918306

轉載請註明出處:https://www.cnblogs.com/holly8/p/11055177.html

相關文章
相關標籤/搜索