首页 > 解决方案 > Kubernetes/Spring Boot 中的服务发现

问题描述

使用“spring service discovery kubernetes”而不是直接使用来自 Kubernetes 的 Service DNS 有什么好处?

我的意思是,如果我在 kubernetes 2 服务(service-a 和 service-b)中部署,并且 service-b 公开了一个 Rest API。service-a 可以使用 url “http://service-b/...”轻松连接到 service-b。

问题 #1。为了让 service-a 能够使用服务 DNS 连接到 service-b,必须在 service-a 之前部署 service-b?

问题2。使用弹簧发现的优点/缺点是什么?

标签: springspring-bootkubernetes

解决方案


问题1: 不,部署服务的顺序对于使用kubernetes DNS服务解析ips并不重要,这里唯一的事情是,如果你在serviceB之后部署serviceA,你将在serviceA中作为环境变量serviceB 的 ip 但不是相反的。

问题 #2: spring 服务发现是原生 kubernetes 服务发现的替代方案,其他 spring 云项目(如 spring-cloud-eureka)使用它来执行服务发现。我在这种方法中看到的唯一优点是您可以自定义负载平衡算法,您可以使用它来在不同实例之间分配负载


推荐阅读