jomo77 / server-planning
一个PHP库,用于返回托管非空虚拟机集合所需的虚拟机数量。
1.0.0
2019-12-27 15:10 UTC
Requires
- php: >=7.4
Requires (Dev)
- phpunit/phpunit: ^8
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