【问题标题】:Spring Netflix LoadBalancing rules comparisonSpring Netflix LoadBalancing 规则比较
【发布时间】:2017-10-26 08:36:04
【问题描述】:

我有一个关于使用 Spring-Cloud Netflix 进行客户端负载平衡的问题。

启用负载平衡后,Ribbon 会选择一个服务器被调用。选择规则取决于选择的 IRule 实现。

以下实现有什么区别:

  • AvailabilityFilteringRule
  • BestAvailableRule
  • ClientConfigEnabledRoundRobinRule
  • RoundRobinRule
  • WeightedResponseTimeRule
  • ZoneAvoidanceRule

非常感谢

【问题讨论】:

  • 你看过这里github.com/Netflix/ribbon/wiki/…吗?有一些说明。
  • @spencergibb 一些描述,其他不完整,其他缺失。这个问题非常有效和相关。

标签: spring spring-boot load-balancing spring-cloud spring-cloud-netflix


【解决方案1】:

visit source 了解更多信息和不同的规则。

RoundRobinRule 此规则只是通过循环选择服务器。它通常用作默认规则或更高级规则的后备。

BestAvailableRule 跳过带有“跳闸”断路器的服务器并选择 并发请求最低的服务器。

可用性过滤规则 此规则将跳过被视为“电路跳闸”或具有高并发连接数的服务器。

加权响应时间规则 对于此规则,每个服务器根据其平均响应时间被赋予一个权重。响应时间越长,它得到的权重就越小。该规则随机选择一个服务器,其可能性取决于服务器的权重。

使用属性选择一个

  service-id:
    ribbon:
      NFLoadBalancerRuleClassName: com.netflix.loadbalancer.AvailabilityFilteringRule

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-08
    • 2013-01-21
    • 1970-01-01
    • 1970-01-01
    • 2015-02-08
    • 2011-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多