У нас есть 4 зоны, в каждой из которых работает служба zuul и UI. Лента — это наш балансировщик нагрузки между службами.
Мы достигаем закрепления сеанса в Zuul с помощью пользовательского правила балансировки нагрузки, как указано в
Как вы можете видеть в приведенном выше файле, есть строка, которая получает список доступных серверов для конкретной службы.
List<Server> servers = getLoadBalancer().getReachableServers();
В списке серверов будет только один сервер из-за включенной привязки к зоне.
Есть ли способ получить все доступные серверы без учета зоны?
Мы ищем что-то, что могло бы заменить вышеупомянутый вызов балансировщика нагрузки.
В текущем правиле stickysession мы используем ZoneAvoidanceRule. Мы также пробовали AvailabilityFilteringRule, BaseLoadBalancer и RoundRobinRule. Но ни один из них не дает ссылки на все 4 экземпляра сервера.
Что можно сделать, чтобы прочитать весь список серверов?