我在微服务项目中将Spring Cloud与NetflixOSS结合使用。另外,我将功能区与Feign Client一起用作客户端负载平衡器。我想知道,是否有可能为Ribbon实施或选择不同类型的负载平衡算法?因为据我了解,默认值是轮询。
提前致谢!
是的,有可能。有关如何自定义的完整详细信息,请参阅文档。对于@FeignClient("foo")和随机负载均衡规则,您可以执行以下操作:
@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; } }
有关更多详细信息,请参见功能区Wiki;有关更多实现,请参见此处。