在vSphere环境中部署Spring web应用程序



我必须在一家公司的内部服务器上部署一个Spring应用程序。服务器在VMWare vsphere上运行几个VM,我想知道什么是最好的方法,什么可以用来部署我的JavaSpring应用程序。

我的两个想法是:

  • 使用其中一个Windows Server实例,并在每次启动该实例时将其作为服务运行。(可能是最简单的,但不是最好的(
  • 找到一种方法,以某种方式将Java运行时部署为虚拟机,以便让我的Spring实例在那里运行

不幸的是,就其目的和工作方式而言,我的应用程序需要部署在局域网上(我的应用软件从LAN IoT客户端轮询数据,它需要在我们的网络内(,因此我不能使用任何像AWS或谷歌这样的在线服务。

我想知道我的选项2是否是一个可行的选项,以及可以使用什么来实现它(就所需的软件而言,以及它是否值得付出努力(。不幸的是,我不知道从哪里开始。

您不能简单地在虚拟机中运行JVM。虚拟机需要先安装操作系统,然后将JVM作为其内部的进程运行。就软件堆栈要求而言,在虚拟机上运行spring boot应用程序本质上与在物理机器上运行它相同。操作系统不强制您使用Windows,但这取决于您的偏好和公司的政策。最小的Linux发行版可以显著减少虚拟机所需的资源量,因此春季启动应用程序是主要的资源占用者。

使用现有的虚拟机来运行一个新的不相关的服务不是一个好的做法(我假设您已经在那里运行了其他服务器(。虚拟机的主要价值在于,它们可以相互隔离,因此不会影响彼此的稳定性,同时仍然受益于位于同一物理硬件上。它们可以在运行时在物理主机之间迁移(vMotion/DRS(,并在出现故障时自动重新启动(vSphere HA(。

最新更新