SpringCloud 03 负载均衡
被调用服务有多个实例,调用哪一个实例呢?由负载均衡模块实现。
Spring Cloud LoadBalancer
它是 Spring Cloud 官方推出的负载均衡组件。
依赖包:
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
使用方法:在方法上添加@LoadBalanced
注解
源码中,LoadBalancer 通过自定义 BeanPostProcessor 类实现@LoadBalanced
注解的 bean 添加过滤器。过滤器实现负载均衡。
Loadbalancer 默认提供两种负载均衡策略:
RandomLoadBalancer:随机。
RoundRobinLoadBalancer:轮询。
可以实现 ReactiveLoadBalancer 接口来自定义负载均衡策略。