我有5个Spring Boot Web应用程序,但只有一个服务器(低端)。
将所有5合1服务器部署的最佳方法是什么?只有一个Web容器(Tomcat)并在同一个Tomcat上将它们全部部署为单独的war文件,或者在不同的Tomcat容器上运行所有5个(Spring Boot默认行为)?
通过考虑性能和可维护性,您的建议是什么?
答案 0 :(得分:1)
恕我直言,如果您正在运行资源受限的服务器,最好的办法是将所有应用程序部署为单个tomcat实例下的war文件。运行多个服务器只会增加不必要的开销。
答案 1 :(得分:1)
如果您的服务器资源很少,那么您没有太多选择。每个Java虚拟机都有很大的开销,因此运行单独的容器会使您更早地达到低端服务器的限制。
您必须在具有不同servlet上下文的同一tomcat服务器中部署您的战争。
但是,如果你有足够的RAM,我认为最干净的方法是创建docker镜像并在每个容器中运行独立的spring-boot jar。
答案 2 :(得分:0)
我的推荐是:
希望这有帮助!
答案 3 :(得分:0)
根据我的经验,使用docker等容器是维护多个spring-boot应用程序的最简单方法。当您拥有新服务器时,可以轻松迁移它,并且可以在不中断其他应用程序的情况下更新应用程序。但您可能需要花费额外的时间来学习如何使用容器。
如果使用Tomcat,建议将tomcat实例分开。每个WAR文件一个tomcat。将多个WAR文件放在一个tomcat中会使维护变得困难。 Tomcat热部署/自动部署往往会出现一些错误,需要您重新启动整个tomcat