我正在尝试在CloudSim Plus模拟器中进行水平自动缩放。我需要通过多个VM扩展应用程序。我正在尝试修改CloudSim Plus提供的示例LoadBalancerByHorizontalVmScalingExample。
该示例具有setVmSupplier()
函数,该函数具有createVm()
参数,该参数仅返回一个VM。此外,setVmSupplier()
函数只接受一个VM而不接受VM列表。即使在超类中,我也无法修改该功能。如何提供多个VM?
您不必使VmSupplier返回VM列表。如果您需要创建多个VM,则只需确保上述示例中的isVmOverloaded方法包含在不同时间调用后将保持为true的条件。
如果在VM检查时它仍然过载,则HorizontalVmScaling对象将再次调用VmSupplier函数以创建新VM。这是您确保创建多个VM以平衡负载的方法。