SpringCloud Ribbon是基於Netfix Ribbon實現的一套客戶端 負載均衡的工具。算法
主要功能:提供客戶端的軟件負載均衡算法,將Netflix的中間服務連在一塊兒。Ribbon客戶端組件提供一系列完善的配置如鏈接超時,重試等狀況。簡單就是在配置文件中列出負載均衡後面的全部機器。Ribbon會自動幫助你基於某種規則(如:簡單輪詢,隨機鏈接)去鏈接這些機器。spring
負載均衡(Load Balance)是一種在微服務或分佈式集羣中常常出現的一種應用,簡單的說就是將用戶的請求平均分攤到服務上,從而達到系統的HA。常見的負載均衡軟件有Nginx,LVS,硬件F5等。相應的中間件,如:dubbo和SpringCloud中均給咱們提供了負載均衡,SpringCloud的負載均衡算法能夠自定義。集中式(偏硬件如:F5),進程式(便軟件)。Ribbon屬於進程式的負載均衡,它相似一個類庫,集成於消費方進程,消費方經過它來獲取到服務提供方的地址。app
Ribbon的配置負載均衡
1,在客戶端添加ribbon的相關依賴性文件,在pom中中添加下面的依賴分佈式
<!-- Ribbon相關 -->微服務
<dependency>工具
<groupId>org.springframework.cloud</groupId>url
<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>
2.修改服務斷的application.yml文件,須要在裏面添加上它去Eureka的一個訪問地址
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上找到並訪問
3.在Config中添加@LoadBalanced註解,而且在主啓動類中添加@EnableEurekaClient註解,而且修改它的名字