Spring Cloud Loadbalancer 可以与 Netflix Eureka 一起使用,而不是与 Netflix Ribbon 一起使用吗?

Mag*_*son 5 spring-cloud spring-cloud-netflix

从 Spring Cloud Greenwich 发布的公告,看到https://spring.io/blog/2019/01/23/spring-cloud-greenwich-release-is-now-available,我注意到建议替换 Netflix Ribbon使用 Spring Cloud 负载均衡器。

这是否意味着客户端可以使用 Spring Cloud Loadbalancer 连接到 Netflix Eureka 中注册的服务,而无需使用 Netflix Ribbon?

我试图找到描述如何做到这一点的文档和/或示例,但我没有找到。

小智 2

您可以在 Spring Cloud Loadbalancer 的测试中找到示例。因此,您需要执行以下操作。您必须在配置类上进行注释(如果您想要有多个客户端,则将@LoadBalancerClient其包装起来),在其中指定客户端的名称及其配置类。@LoadBalancerClients在该负载均衡器客户端的配置类中,您需要创建一个将返回负载均衡器的 bean。在测试中它是RoundRobinLoadBalancer. 然后,您可以使用该负载平衡器 bean 来选择下一个服务实例,该实例又可用于调用其他服务。

请参阅此测试:https://github.com/spring-cloud/spring-cloud-commons/blob/master/spring-cloud-loadbalancer/src/test/java/org/springframework/cloud/loadbalancer/core/LoadBalancerTest。 java#L132