功能区负载均衡算法

时间:2016-12-06 10:17:02

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

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

提前致谢!

1 个答案:

答案 0 :(得分:6)

是的,有可能。有关如何自定义的完整详细信息,请参阅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