jomo77/server-planning

一个PHP库,用于返回托管非空虚拟机集合所需的虚拟机数量。

1.0.0 2019-12-27 15:10 UTC

This package is not auto-updated.

Last update: 2024-09-19 21:57:36 UTC


README

编写一个库,用于计算托管指定数量的虚拟机所需的(配置相同)服务器数量。

您的库应返回所需的虚拟机数量,以托管非空虚拟机集合。这意味着您应该实现以下方法(UML定义):+calculate(serverType: Server, virtualMachines: VirtualMachine[1..*]): int 所有服务器类型相同。此类型定义了每台服务器提供的硬件资源:CPU、RAM、HDD。每个虚拟机通过它所需的虚拟硬件资源(在服务器上)进行定义:CPU、RAM、HDD。

虚拟机分配算法应实现'首次适应'策略。这意味着没有资源优化或'回溯'。虚拟机始终分配在当前服务器或下一个服务器(如果资源有限)。

如果虚拟机对于服务器来说“太大”,则应跳过。如果虚拟机集合为空,则抛出异常。

示例

- Server type = {CPU: 2, RAM: 32, HDD: 100}
- Virtual Machines = [{CPU: 1, RAM: 16, HDD: 10}, {CPU: 1, RAM: 16, HDD: 10}, {CPU: 2, RAM: 32, HDD: 100}]
- Result = 2

一般要求:- 创建一个PHP版本7或更高的composer项目 - 自由选择依赖项,但保持简单 - 您的代码应完全(单元)测试!

要求

  • PHP >= 7.4

安装

composer require jomo77/server-planning

composer create-project --prefer-dist --stability=dev jomo77/server-planning

测试

vendor\bin\phpunit

测试Windows

c:\Projekte\server-planning\vendor\bin\phpunit.bat