spring cloud系列教程(6)--ribbon初步配置
阿新 • • 發佈:2018-12-17
給大家推薦個靠譜的公眾號程式設計師探索之路,大家一起加油
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提供了多種策略:日入輪詢,隨機和根據相應時間加權