1.轮询规则
RoundRobinRule
This rule simply choose servers by round robin. It is often used as the default rule or fallback of more advanced rules.
2.根据服务是否死掉或者服务处于高并发来分配权重
AvailabilityFilteringRule
This rule will skip servers that are deemed “circuit tripped” or with high concurrent connection count.
By default, an instance is circuit tripped if the RestClient fails to make a connection to it for the last three times. Once an instance is circuit tripped, it will remain in this state for 30 seconds before the circuit is deemed as closed again. However, if it continues to fail connections, it will become “circuit tripped” again and the wait time for it to become “circuit closed” will increase exponentially to the number of consecutive failures.
3.根据响应时间分配权重
WeightedResponseTimeRule
For this rule, each server is given a weight according to its average response time. The longer the response time, the less weight it will get. The rule randomly picks a server where the possibility is determined by server’s weight.
To enable WeightedResponseTimeRule, set it with the load balancer via API or set the following property
4.随机原则
RandomRule
5.配置方式:
在application.properties中添加:
service-B.ribbon.NFLoadBalancerRuleClassName=com.netflix.loadbalancer.RandomRule
service-B为application name