netflix-ribbon简介

常用的三种负载均衡规则

RoundRobinRule(简单轮询)

这条规则简单地通过循环法选择服务器。它通常用作默认规则或更高级规则的后备规则。

 

AvailabilityFilteringRule(可用性过滤)

当连接失败次数达到一定阈值或某连接的并发量达到一定阈值时,认为该远端server不可用,client会在一定时间间隔后再次尝试连接,并且该间隔按指数增长。

# successive connection failures threshold to put the server in circuit tripped state, default 3
niws.loadbalancer.<clientName>.connectionFailureCountThreshold

# Maximal period that an instance can remain in "unusable" state regardless of the exponential increase, default 30
niws.loadbalancer.<clientName>.circuitTripMaxTimeoutSeconds

# threshold of concurrent connections count to skip the server, default is Integer.MAX_INT
<clientName>.<clientConfigNameSpace>.ActiveConnectionsLimit

 

WeightedResponseTimeRule

客户端记录每个服务器的平均响应时间,并赋予权重,响应时间越长,重量就越小。

<clientName>.<clientConfigNameSpace>.NFLoadBalancerRuleClassName=com.netflix.loadbalancer.WeightedResponseTimeRule

 


 

ServerListFilter

ZoneAffinityServerListFilter

筛选出与客户端不在同一区域中的服务器,除非客户端区域中没有可用的服务器,zone在client和server都需要配置。

myclient.ribbon.EnableZoneAffinity=true

ServerListSubsetFilter

该过滤器确保客户端只能看到由ServerList实现返回的整个服务器的固定子集,可以周期性用新服务器替换可用性不佳的服务器。

myClient.ribbon.NIWSServerListClassName=com.netflix.niws.loadbalancer.DiscoveryEnabledNIWSServerList 
# the server must register itself with Eureka server with VipAddress "myservice"
myClient.ribbon.DeploymentContextBasedVipAddresses=myservice
myClient.ribbon.NIWSServerListFilterClassName=com.netflix.loadbalancer.ServerListSubsetFilter
# only show client 5 servers. default is 20.
myClient.ribbon.ServerListSubsetFilter.size=5

 

转载于:https://www.cnblogs.com/holoyong/p/9035758.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值