我使用虚拟盒设置了一个(虚拟)开发服务器集群。这些服务器中的每一个都用于一个独立的产品,并且它们的使用往往集中在其中的几个上。是否可以以这样的方式(使用虚拟盒或其他虚拟化软件)配置这些服务器,以便服务器在向该服务器发出 Web 请求之前处于关闭状态,并且一段时间内没有被访问的服务器将被关闭?谢谢。
答案1
当然,根据负载暂停/取消暂停甚至关闭/打开虚拟机是完全可能的,但根据网络请求执行此操作时会遇到的问题是,在服务器再次打开之前,请求几乎肯定会超时。如果您通过暂停来执行此操作,那么您可能会成功,但显然虚拟机即使在暂停时也会停留在一种内存形式中,这只会为您节省 CPU - 如果不执行任务,CPU 本来就很低,因此无需暂停它。
作为参考,我使用 VMWare 的 vSphere 根据负载启动更多不同类型的 VM 类单元,但这是数十万并发用户的负载,因此我可以处理缺乏粒度的问题。
哦,还有一种方法是设置你的负载均衡器,将高负载和低负载报告给一个或多个控制虚拟机,然后控制虚拟机负责增加和减少虚拟机的数量。