負載均衡的概念
服務端負載均衡
客戶端負載均衡
Ribbon集成示例
Ribbon的核心知識
Ribbon相關的初始化方式
Ribbon的IRule
容錯機制
Ribbon與RestTemplate
Ribbon的基本使用
- 引入相關jar
<dependency>
<groupId>org.springframe.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
</dependency>
- 添加配置
server:
port: 8083
spring:
application:
name: consumer-demo
##改造配置
eureka:
client:
enabled: false
##1:定義一個serverlist給我們使用負載均衡
##格式{servcid}:ribbon:listOfServers
hello-server:
ribbon:
listOfServers: localhost:8001,localhost:8002
logging:
level:
org:
springframework:
cloud: debug
com:
netflix: debug
- 在啓動類上添加註解
@RibbonClients(
@RibbonClient(value = “hello-server”)
)
- 改造請求
@Autowired
LoadBalancerClient loadBalancerClient;
@GetMapping("index")
public Object getIndex(){
ServiceInstance serviceInstance = loadBalancerClient.choose("hello-server");
String ip = serviceInstance.getHost();
int port = serviceInstance.getPort();
return restTemplate.getForObject("http://"+ip+":"+port,String.class,"");
}
Ribbon重試機制啓動
引入jar包就可以啓動重試機制。
<dependency>
<groupId>org.springframe.retry</groupId>
<artifactId>spring-retry</artifactId>
</dependency>