el-table表頭如何新增篩選功能
阿新 • • 發佈:2021-01-10
Ribbon
Ribbon是什麼?
- Spring Cloud Ribbon是基於NetFilx Ribbon實現的一套客戶端負載均衡的工具。
- 簡單來說,Ribbon是Netfilx釋出的開源專案,主要功能是提供客戶端的軟體負載均衡演算法,將NetFilx的中間層服務連線在一起。Ribbon的客戶端元件提供一系列完整的配置項如:連線超時,重試等等。簡單的說,就是在配置檔案中列出LoadBalancer(簡稱LB:負載均衡)後面所有的機器,Ribbon會自動的幫助你基於某種規則(如簡單輪詢,隨機連線等等)去連線這些機器。我們也很容易使用Ribbon實現自定義的負載均衡演算法。
Ribbon能幹嘛?
- LB(Load Balance),負載均衡,在微服務或分散式叢集中經常用到的一種應用。
- 負載均衡簡單的說就是將使用者的請求平攤的分配到多個服務商,從而達到系統的HA(高可用)。
- 常用的負載均衡軟體有Nginx,Lvs等等。
- dubbo,SPirngCloud中鈞給我們提供了負載均衡,SpringCloud的負載均衡演算法可以自定義。
- 負載均衡簡單分類:
- 集中式LB
- 即在服務的消費方式和提供方之間使用獨立的LB設施,如Nginx,由該設施負責吧訪問請求通過某種策略轉發至服務的提供方!
- 程序式LB
- 將LB邏輯整合到消費方,消費方從註冊中心獲知有哪些地址可用,然後自己再從這些地址選出一個合適的伺服器。
- Ribbon就屬於程序內LB,它只是一個類庫。集成於消費方程序,消費方通過它來獲取到服務提供方的地址。
- 集中式LB
使用
在之前編寫的服務消費者(客戶端)使用,https://www.cnblogs.com/xiaominaaaa/p/14058588.html
- pom.xml
新增Ribbon和Eureka客戶端的依賴
<!--ribbon--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-ribbon</artifactId> </dependency> <!--Eureka 客戶端--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>
- applictaion.yml
server:
port: 8080
#Eureka 配置
eureka:
client:
register-with-eureka: false #不向註冊中心註冊自己
service-url:
defaultZone: http://eureka1.com:7001/eureka/,http://eureka1.com:7001/eureka/,http://eureka3.com:7003/eureka/
- 新增Eureka客戶端註解
@SpringBootApplication
@EnableEurekaClient //為Eureka客戶端
public class PersonConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(PersonConsumerApplication.class,args);
}
}
- 在配置類的RestTemplate添加註解
@Configuration
public class WebConfig {
//配置負載均衡實現RestTemplate
@Bean
@LoadBalanced
public RestTemplate restTemplate(){
return new RestTemplate();
}
}
- 更改請求的地址為微服務應用名稱spring.application.name
//Ribbon 不能使用Ip地址 ,而應該使用服務名來實現
private static final String REQUEST_URL = "http://provider-person-8001";