1. 程式人生 > >spring cloud系列教程(6)--ribbon初步配置

spring cloud系列教程(6)--ribbon初步配置

給大家推薦個靠譜的公眾號程式設計師探索之路,大家一起加油https://img-blog.csdnimg.cn/20181129224604602.png ​  

1.修改80消費者專案

1.1修改pom

<!-- Ribbon相關 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-ribbon</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

1.2修改application.yml

server:
  port: 80

eureka:
  client:
    register-with-eureka: false
    service-url:
      defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/

1.3修改類

configbean

@Bean
@LoadBalanced//spring cloud ribbon 是基於netflix bibbon 實現的一套客戶端 負載均衡的工具
public RestTemplate getRestTemplate(){
   return new RestTemplate();
}

啟動類

@SpringBootApplication
@EnableEurekaClient
public class DeptConsumer80
{
    public static void main( String[] args )
    {
        SpringApplication.run(DeptConsumer80.class, args);
    }
}

控制器

//  private final static String REST_URL_PREFIX = "http://localhost:8001/api/dept";
   private final static String REST_URL_PREFIX = "http://CLOUD-PROVIDER-DEPT/api/dept";

2.啟動測試先 啟動 3個eureka叢集,再啟動8001專案,最後啟動80專案,測試介面

3.負載均衡測試

3.1新建專案8002,8003,注意資料庫,埠,微服務自定義名字更改其他和8001一樣

3.2怎麼看負載均衡後的結果,請求80任意一個介面然後你會看到結果會是三個庫裡的資料順序出現

3.3ribbon工作的大概步驟

第一步先選擇EurekaServer,它優先選擇在同一個區域內負載較少的server。                      

第二步:再根據使用者指定的策略,從server取到的服務註冊列表中選擇一個地址。其中ribbon提供了多種策略:日入輪詢,隨機和根據相應時間加權

程式碼地址:https://github.com/ZhZGod/spring-cloud-codes