ribbon核心组件IRule
Irule的功能
根据特定的算法中从服务列表中选取一个要访问的服务
ribbon的架构图
1.在eurekaserver中查询可用服务列表
2.根据负载均衡策略(轮询,随机,响应时间加权等),选在一个服务
ribbon的负载均衡服务有7个
- RoundRobinRule
轮训
- RandomRule
随机
- AvailabilityFilteringRule
会优先过滤掉由于多次访问故障而处于断路器跳闸状态的服务,还有并发的连接数超过临界值的服务,然后对剩余的服务列表按照轮训策略进行访问
- WeightedResponseTimeRule
根据平均响应时间计算所有服务的权重,响应时间越快服务权重越大被选中的机率越大,刚启动时如果统计信息不足,则使用RoundRobinRule 策略,等统计信息足,会切换到WeightedResponseTimeRule
- RetryRule
先按照RoundRobinRule策略获取服务,如果获取服务失败则在制定时间内进行重试,
- BestAvailableRule
会优先过滤掉由于多次访问故障而处于断路器跳闸状态的服务,然后选择一个并发两最小的
- ZoneAvoidanceRule
复合判断server所在区域的性能和server的可用性选择服务器
更改ribbon的轮询策略
记性不好,记录一下!!!!!!!!