我有一个Web应用程序,它托pipe在两个不同的虚拟机上,而且恰好两个虚拟机位于同一台计算机上。
所有这三台物理机器,虚拟机都是Windows XP。
我以这种方式devise我的架构的原因是因为我想让我的Web应用程序在不同的机器上可扩展和部署,所以我从一开始就这样构build它。 现在我正在虚拟机上托pipe它,因为我现在看不到扩展需求。 但是,当时间到了,我真的将部署在两个不同的真机上的Web应用程序负载平衡的目的。
问题:如果我使用虚拟机来使用单个Web应用程序,是否会有任何问题? 有没有可能虚拟机不能像真机一样工作?
你怎么看?
我在这方面使用Sun Virtualbox 2.2。
只要您使用的虚拟化技术具有足够好的networking联系,让所有的事情都可以一起讨论,那么就应该有效。 从运行虚拟化的开销将会有不可避免的性能下降,但对于testing中的轻负载网站来说,这不应该是一个杀手。
在同一物理硬件上运行它们应该不是问题。 唯一的风险是单一的硬件故障将所有的事情都放下。
作为一个实际的例子,我运行一个完全虚拟化的7服务器networking服务器场,偶尔全部在同一台主机上(为了冗余,更经常地将其分成2个)。 我们使用VMWare基础架构。
虚拟化的一个好处是,随着stream量的增加,我们可以根据需要简单地将更多的cpu /networking资源分配给现有的服务器场(无需增加更多的服务器)。 然而,在那之前,这些资源可用于其他用途。