自SpringCloud2020版本开始,已经弃用Ribbon,改用Spring自己开源的Spring Cloud LoadBalancer了。
Ribbon 负载均衡策略:
- RoundRobinRule(轮询策略):按照顺序依次选择可用的服务实例,逐个进行调用。
- RandomRule(随机策略):随机选择一个可用的服务实例进行调用。
- WeightedResponseTimeRule(加权响应时间策略):根据服务实例的响应时间和权重来动态计算一个权重值,从而决定调用哪个服务实例。
- RetryRule(重试策略):在一定的重试次数内,尝试多次调用不同的服务实例,直到找到一个可用的实例。
Spring Cloud LoadBalancer 负载均衡策略:
Spring Cloud LoadBalancer 是基于 Reactor 实现的负载均衡组件,它提供了以下常用的负载均衡策略: - RoundRobinLoadBalancer:轮询策略,按照顺序依次选择可用的服务实例进行调用。
- RandomLoadBalancer:随机策略,随机选择一个可用的服务实例进行调用。
- NacosLoadBalancer:根据服务的集群名和权重来动态计算选择服务实例。