【发布时间】:2017-06-19 13:00:19
【问题描述】:
我正在开发一个微服务,使用Spring Boot,它公开了 REST 端点。
为了满足可扩展性的限制,[same] service 的多个实例将被部署(基本上在需要时向上扩展,在不需要时向下扩展)。
我正在使用 Spring Cloud Config Server 为该服务提供配置(例如绑定的端口和其他配置)。
由于服务公开了 REST api,如何配置配置服务器为每个微服务实例提供唯一的端口?
一种可能的解决方案是,在单个机器/VM 中运行服务,或者创建一个 docker 容器并部署该服务。如果无法从云配置服务器为服务提供随机端口,这可能是我的解决方案。
【问题讨论】:
-
您也可以根据需要使用随机端口。
server.port=0 -
可扩展性和弹性来自不同机器上的多个实例,在这种情况下端口可以相同。你在使用 Netflix 吗?如果是这样,那么您的服务将在 Eureka 中注册,并通过 Zuul 进行软件负载平衡。多个 Zuul 实例注册到您的网站反向代理,例如Apache 平衡器工作者或硬件设备。
标签: spring spring-boot microservices spring-cloud-config