Ribbon 負載均衡
阿新 • • 發佈:2018-05-02
rule gist emp 配置 artifact 圖片 reg () star
一、是什麽
Spring Cloud Ribbon 是基於 Netfix Ribbon 實現的一套客戶端(服務的消費者)負載均衡的工具
二、用法
服務消費者工程的 pom.xml 添加如下內容
<!-- 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>
服務消費者工程的 application.yml
eureka:
client:
register-with-eureka: false
service-url:
defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/ #連接 Eureka 集群
配置類 配置 RestTemplate,加上 @LoadBalanced 註解
@Configuration public class ConfigBean { @Bean @LoadBalanced //客戶端的負載均衡 public RestTemplate geRestTemplate() { return new RestTemplate(); } }
結論
Ribbon 和 Eureka 整合後,Consumer 可以直接通過微服務名調用微服務,而不需要關心地址和端口號
三、Ribbon 核心組件 IRule(Ribbon 默認算法的是輪詢,一個挨一個)
IRule:根據特定算法從服務列表中選取一個訪問服務
Ribbon 負載均衡