功能区负载平衡算法

Posted

技术标签:

【中文标题】功能区负载平衡算法【英文标题】:Ribbon load balance algorithms 【发布时间】:2017-04-20 22:41:15 【问题描述】:

我在我的微服务项目中使用 Spring Cloud 和 NetflixOSS。另外,我使用带有 Feign Client 的 Ribbon 作为我的客户端负载均衡器。我想知道,是否有可能为 Ribbon 实现或选择不同类型的负载平衡算法?因为据我了解,默认是循环。

提前致谢!

【问题讨论】:

【参考方案1】:

是的,这是可能的。有关如何自定义的完整详细信息,请参阅the docs。对于 @FeignClient("foo") 和随机负载平衡规则,您可以这样做:

@Configuration
@RibbonClient(name = "foo", configuration = FooConfiguration.class)
public class TestConfiguration 


@Configuration
public class FooConfiguration 
    @Bean
    public IRule ribbonRule(IClientConfig config) 
        IRule rule = new RandomRule();
        rule.initWithNiwsConfig(config);
        return rule;
    

有关更多详细信息,请参阅ribbon wiki,有关更多实现,请参阅here。

【讨论】:

以上是关于功能区负载平衡算法的主要内容,如果未能解决你的问题,请参考以下文章

07平衡负载:gRPC是如何进行负载均衡的?

pfsense Web服务器负载平衡配置示例

Spring RestTemplate作为负载平衡器客户端

Spring RestTemplate作为负载平衡器客户端

Spring RestTemplate作为负载平衡器客户端

Spring Cloud Commons教程Spring RestTemplate作为负载平衡器客户端