Алгоритмы балансировки нагрузки ленты

Я использую Spring Cloud с NetflixOSS в своем проекте микросервиса. Кроме того, я использую Ribbon с Feign Client в качестве балансировщика нагрузки на стороне клиента. Мне было интересно, есть ли возможность реализовать или выбрать различные типы алгоритмов балансировки нагрузки для ленты? Потому что, как я понял, по умолчанию используется round robin.

Заранее спасибо!


person branko terzic    schedule 06.12.2016    source источник


Ответы (1)


Да, это возможно. Полную информацию о настройке см. в документах. Для @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;
    }
}

Более подробную информацию и здесь подробнее реализации.

person spencergibb    schedule 06.12.2016