Ribbon内置了多种负载均衡策略,内部负责复杂均衡的顶级接口为:com.netflix.loadbalancer.IRule ,实现方式如下 :

com.netflix.loadbalancer.RandomRule :随机选择一个server
com.netflix.loadbalancer.RetryRule :对选定的负载均衡策略机上重试机制。
com.netflix.loadbalancer.RoundRobinRule :以轮询的方式进行负载均衡
com.netflix.loadbalancer.WeightedResponseTimeRule :根据响应时间分配一个weight,响应时间越长,weight越小,被选中的可能性越低。
com.netflix.loadbalancer.AvailabilityFilteringRule :可用过滤策略,过滤掉故障和请求数超过阈值的服务实例,再从剩下的实例中轮询调用(默认)
在服务消费者的application.yml配置文件中修改负载均衡策略,格式:
{服务提供者名称}.ribbon.NFLoadBalancerRuleClassName

本文详细介绍了SpringCloud中的Ribbon组件及其内置的负载均衡策略,包括随机选择、带重试机制的策略、轮询策略、响应时间权重策略和可用性过滤策略。通过配置服务消费者的application.yml,可以灵活地选择不同的负载均衡策略。
订阅专栏 解锁全文
531

被折叠的 条评论
为什么被折叠?



