Java 启动多个spring启动实例,但一个主机名用于本地开发

Java 启动多个spring启动实例,但一个主机名用于本地开发,java,spring,spring-boot,Java,Spring,Spring Boot,如果我想启动10个spring引导实例,我想应该是在多个端口上或者在同一个JVM上运行。如何实现这样一个系统:一个客户端将连接到同一个主机,但可能会访问多个spring引导服务。通常,我在一个JVM下启动一个REST控制器/服务,在一个主机和端口下启动一个spring启动实例。如何使用多个控制器实现多个实例您可以使用Netflix Ribbon实现客户端负载平衡。有一个spring指南,因为@Darren和@MohamedSanaulla建议您可以使用服务发现(Eureka)和Api网关(Zuu

如果我想启动10个spring引导实例,我想应该是在多个端口上或者在同一个JVM上运行。如何实现这样一个系统:一个客户端将连接到同一个主机,但可能会访问多个spring引导服务。通常,我在一个JVM下启动一个REST控制器/服务,在一个主机和端口下启动一个spring启动实例。如何使用多个控制器实现多个实例

您可以使用Netflix Ribbon实现客户端负载平衡。有一个spring指南

,因为@Darren和@MohamedSanaulla建议您可以使用服务发现(Eureka)和Api网关(Zuul)来实现您想要的,基本上Eureka是一个服务发现,它跟踪注册到它的所有服务。另一方面,Zuul act Api网关将您的所有请求转发到指定的服务,此外,Zuul在内部使用Ribbon,所以您不必担心客户端负载平衡,最终您可以在docker容器中部署所有服务,并使用docker swarm进行管理,以方便地进行上下扩展。
您可以找到Eureka、Zuul使用docker和docker compose的工作示例。

您可以非常轻松地连接发现服务+api网关,我想这取决于您为什么需要10个本地实例。当然,这将是10个不同的本地端点。我想我可以在同一个JVM下运行10个端点,但我很好奇,如果你启动多个spring启动实例,即使是本地开发,看起来也不错,这甚至适用于本地开发配置?是的,您可以设置默认配置文件,以便只连接到本地运行的Eureka服务-部署的区域显然需要不同的配置,但应该通过配置文件或其他机制来处理。