Можно ли использовать Spring Cloud Loadbalancer вместе с Netflix Eureka вместо Netflix Ribbon? - PullRequest
0 голосов
/ 25 февраля 2019

Из объявления о выпуске Spring Cloud Greenwich см. https://spring.io/blog/2019/01/23/spring-cloud-greenwich-release-is-now-available, Я заметил, что рекомендуется заменить ленту Netflix на Spring Cloud Loadbalancer.

Означает ли это, что Spring Cloud Loadbalancer может использоваться клиентом для подключения к службам, зарегистрированным в Netflix Eureka, без использования ленты Netflix?

Я пытался найти документацию и / или примеры, описывающиекак это сделать, но я не нашел.

1 Ответ

0 голосов
/ 27 февраля 2019

Вы можете найти образец в тестах Spring Cloud Loadbalancer.Так что вам нужно сделать следующее.Вам придется аннотировать класс конфигурации с помощью @LoadBalancerClient (или обернуть его в @LoadBalancerClients, если вы хотите иметь несколько клиентов), где вы указываете имя вашего клиента и его класс конфигурации.В конфигурационном классе клиента балансировщика нагрузки вам нужно создать bean-компонент, который будет возвращать балансировщик нагрузки.В тесте это RoundRobinLoadBalancer.Затем вы можете использовать этот компонент балансировки нагрузки для выбора следующего экземпляра службы, который, в свою очередь, может использоваться для вызова другой службы.

См. Этот тест: https://github.com/spring-cloud/spring-cloud-commons/blob/master/spring-cloud-loadbalancer/src/test/java/org/springframework/cloud/loadbalancer/core/LoadBalancerTest.java#L132

...