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