负载均衡如何实现的?
微服务的负载均衡主要使用了组件Ribbon,比如 使用feign远程调用的过程中,底层的负载均衡就是使用了ribbon。
Ribbon负载均衡策略有哪些?
RoundRobinRule:简单轮询服务列表来选择服务器
WeightedResponseTimeRule:按照权重来选择服务器,响应时间越长,权重越小
RandomRule:随机选择一个可用的服务器
ZoneAvoidanceRule:区域敏感策略,以区域可用的服务器为基础进行服务器的选择。使用Zone对服务器进行分类,这个Zone可用理解为一个机房、一个机架等。而后再对Zone内的多个服务做轮询(默认)
自定义负载均衡策略如何实现?
1、创建类实现IRule接口,可用指定负载均衡策略(全局)
2、在客户端的配置文件中,可用配置某一个服务调用的负责均衡策略(局部)