Spring boot Spring启动-在不同端口上启动2个Tomcat服务
我需要2个独立的RESTAPI在我的项目,绑定和监听不同的端口。如果启用,spring将使用application.properties文件中server.port参数中给定的端口初始化Tomcat。我想在另一个端口启动另一个Tomcat服务 理想情况下,我希望将函数绑定到带有注释的调用,就像使用原始Tomcat服务一样(例如Spring boot Spring启动-在不同端口上启动2个Tomcat服务,spring-boot,tomcat,Spring Boot,Tomcat,我需要2个独立的RESTAPI在我的项目,绑定和监听不同的端口。如果启用,spring将使用application.properties文件中server.port参数中给定的端口初始化Tomcat。我想在另一个端口启动另一个Tomcat服务 理想情况下,我希望将函数绑定到带有注释的调用,就像使用原始Tomcat服务一样(例如@RequestMapping@GetMapping等) 有没有一种方法可以实现这一点,而不必手动初始化新服务并将功能绑定到它?我想您需要在不同的端口上运行两个实例并执行相
@RequestMapping@GetMapping
等)
有没有一种方法可以实现这一点,而不必手动初始化新服务并将功能绑定到它?我想您需要在不同的端口上运行两个实例并执行相同的工作。这是真的吗? 如果是,则需要
负载平衡器
如果您熟悉eureka
和zuul
,您可以通过混合它们来实现您的目标
我列出了一般步骤,但您需要做一些研究
1-创建您的应用程序。
2-启动应用程序的2个实例,并将其注册到eureka discovery service
3-创建一个
zuul
网关,并在正在运行的实例之间分发即将到来的请求。为什么要将它们绑定到两个不同的端口?作为项目要求。2客户端的2个现有API使用不同的端口和DTO(使用一些相同的路径)。我们需要匹配现有的接口。为什么不创建两个Spring引导应用程序呢?这两个接口大部分重叠,主要做相同的事情。它们只是在数据类型和路径名上存在差异。让N个不同的API简单地将这些调用转换为一组公共函数会更有意义。您可以使用一个公开的端口以正确的方式构建应用程序,并将其置于apache反向代理之后,该代理侦听两个端口(如果在同一主机上运行,则仅侦听另一个端口)然后将它们重定向到公共应用程序端口。这样,您就不会打乱应用程序设计,而客户机用例也能正常工作。