Spring Cloud Ribbon提供了一个IRule接口,用于定义负载均衡策略。
序号实现类负载均衡策略1RoundRobinRule排序轮询2RandomRule随机选取3RetryRule先轮询,如果获取到的服务实例为null或已经失效,则再指定时间内不断地进行轮询重试,超过指定时间没有获取到则返回null4WeighedResponseTimeRuleRoundRobinRule的一个子类,对父类进行了扩展。根据平均响应时间,计算所以服务实例的权重,响应时间和服务实例的权重、选中概率成反比。刚启动,统计信息不足,使用轮询5BestAvailableRule先过滤掉故障或者失效的服务实例,选择并发量最小的服务实例6AvailabilityFilteringRule同BestAvailableRule7ZoneAvoidanceRule默认,根据服务所在区域的性能和服务的可用性,来选择服务实例(轮询)