Spring Cloud Kubernetes是否支持Spring Cloud负载均衡?
我将在Kubernetes上部署Spring boot应用程序,并通过以下链接https://cloud.spring.io/spring-cloud-static/spring-cloud-kubernetes/2.0.0.M1/reference/html/#ribbon-discovery-in-kubernetes使用ribbon客户端执行客户端负载平衡
我想使用新的Spring云负载均衡器,而不是Ribbon客户端。
发布于 2020-07-15 18:35:34
是的,确实如此。完整的例子可以在这里找到- https://github.com/dhananjay12/spring-microservices-using-spring-kubernetes
基本上,遵循依赖就可以做到这一点
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-kubernetes</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-archaius</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
</exclusion>
<exclusion>
<groupId>com.netflix.ribbon</groupId>
<artifactId>ribbon-eureka</artifactId>
</exclusion>
</exclusions>
</dependency>发布于 2021-07-26 22:08:25
我来晚了,但我想分享一下,Spring Cloud Kubernetes last year增加了对Spring的支持,它很有魅力。从Spring Cloud 2020.0开始。(又名Ilford),它是默认的客户端负载均衡器,因此您不再需要排除ribbon。
我建议在您的项目中包含org.springframework.cloud:spring-cloud-starter-kubernetes-client-all依赖项,以利用Spring Cloud Kubernetes支持的所有细节。
在Kubernetes上使用Spring Cloud LoadBalancer最典型的方式是服务发现。如果您的类路径上有任何DiscoveryClient,默认的Spring Cloud LoadBalancer配置将使用它来检查服务实例。因此,it只从启动并运行的实例中进行选择。所有需要做的就是用@EnableDiscoveryClient注释Spring Boot应用程序,以启用K8s原生服务发现。
你可以在Spring Cloud Kubernetes documentation上阅读更多关于它的内容。
https://stackoverflow.com/questions/62423704
复制相似问题