【发布时间】:2017-10-26 06:52:22
【问题描述】:
我正在尝试使用 spring cloud 和 minikube 开发一个示例应用程序,其中包含 3 个 spring boot 应用程序。
前两个是两个不同的应用程序(服务器),它们具有相同的端点但功能不同,第三个是一个客户端,用于将其他两个应用程序集成到一个公开的 api 中。
我设法在 minikube 中部署了所有三个应用程序,并设法开发了完整的堆栈并使它们相互通信,但现在我想更进一步,自动发现两个服务器,而无需硬编码服务名称。
我在 minikube 中使用相同的标签部署了两个服务器,并希望找到一些东西,以便客户端能够自动找到与两个服务器应用程序相关的服务。这将允许轻松扩展应用程序,因此当我将新服务器添加到堆栈时,客户端将找到它并将其公开,而无需任何更改。
使用 Netflix Eureka,这可以通过使用类似的东西轻松实现
discoveryClient.getInstances("service-name").forEach((ServiceInstance s)
但我不想在微服务列表中添加额外的 eureka 服务器,因为我们将使用 kubernetes。
是否有任何库为 kubernetes 提供此功能?
【问题讨论】:
标签: java spring-boot kubernetes spring-cloud microservices