负载均衡的概念
服务端负载均衡
客户端负载均衡
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>