Ribbon依赖
<!-- ribbon负载均衡 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
<version>2.0.1.RELEASE</version>
</dependency>
Ribbon负载均衡流程图
负载均衡的重要注解 @LoadBalanced
/**
* 1、创建RestTemplate并注入Spring容器
* 2、在RestTemplate上添加 @LoadBalanced注解,
* 那么由RestTemplate发送的http请求都会被Ribbon进行负载均衡处理。分别将请求发送到不同的服务。
*/
@LoadBalanced
@Bean
public RestTemplate restTemplate(){
return new RestTemplate();
}
重要的类:LoadBalancerInterceptor ,这个类拦截 RestTemplate 发送的 http 请求。(idea中通过快捷键 ctrl+shift+n 可以搜索此类,看源码)
负载均衡原理图