Как установить ServerListRefreshInterval в ленточный балансировщик нагрузки?
Я использую Spring, Eureka и Ribbon. Я хочу изменить интервал обновления для ленты. Читая документацию, я обнаружил, что должен установить следующее свойство:
my-service.ribbon.ServerListRefreshInterval=99999
Однако это не помогает, потому что, когда я создаю балансировщик нагрузки, Spring использует следующий конструктор
public DynamicServerListLoadBalancer(IClientConfig clientConfig, IRule rule, IPing ping,
ServerList<T> serverList, ServerListFilter<T> filter) {
this(
clientConfig,
rule,
ping,
serverList,
filter,
new PollingServerListUpdater()
);
И этот конструктор не использует мою собственность.
1 ответ
Я посмотрел на эту тему: Как переопределить значение по умолчанию ленты.serverListRefreshInterval в Spring Cloud Ribbon?
Проблема связана с этой ошибкой: tape.ServerListRefreshInterval игнорируется # 1304.
Ошибка была исправлена в Spring-cloud-netflix 1.3.0.RC1 в марте 2017 года.
Вы используете Spring Cloud Camden.SR7, который использует Spring Cloud Netflix 1.2.7.RELEASE
где ошибка еще не была исправлена.
Либо принудительно используйте spring-cloud-netflix 1.3.0 или более поздней версии, либо перейдите на версию Spring Cloud с такой зависимостью, например Spring Cloud Edgware.SR2 ( репозиторий Maven), которая использует Spring Cloud Netflix 1.4.3.RELEASE