我正在创建这个小型云游戏服务(GeforceNow 模仿者),它由 Windows 10 Pro 和 VMWware 提供支持。它的所有其他方面都已处理好,例如流媒体和数据压缩等。另一方面,我有 50 款独立游戏,这些游戏对资源的要求不高,平均每款游戏的图形占用 1GB、RAM 4GB 和存储空间 5GB。另一部分有 20 款 AAA 游戏,这些游戏对资源的要求很高,例如每款游戏的 GPU 为 4GB、RAM 为 12GB 和存储空间为 50GB,游戏类别正在增长(增长缓慢,但计划在 2021 年中期推出 100 款独立游戏和 50 款 AAA 游戏)。此外,我预计总用户数将达到 100000,其中约 2000 人同时玩游戏
我该如何管理这些游戏的安装以最大程度地节省 GPU 和 CPU 功率以及 SSD 存储?我是否应该专门设置一台能够容纳更多用户的服务器,其中包含所有独立游戏,并设置几台更大的服务器,每台服务器都包含所有 AAA?或者有没有办法将所有这些放在一台服务器中,然后只管理用户状态和进度?实际有效的云游戏服务如何管理这一点?
我曾考虑从 VMWare 迁移到 docker,以便更动态地使用硬件,但我认为在 docker 中运行大型游戏并传输到浏览器不利于质量和性能。此外,docker 中还需要进行大量优化和配置。
答案1
这是一种不太传统的设置,但如果您想最大限度地利用同一映像的多个实例的空间,则需要转到 VMware Horizon 或其他 VDI 解决方案,在这些解决方案中,您可以获得操作系统的基本映像以及用户想要运行的不同应用程序的应用程序映像。然后,Horizon 可以将基本操作系统映像与所需的应用程序存储和用户存储相结合,并在登录时创建一个包含所需应用程序的临时 VM,然后在注销时销毁该 VM,这样即使您可能有数百个客户端,也只需存储一次操作系统。
请记住,您所描述的在许可方面听起来也像是地狱,并且您可能需要与至少 Microsoft 达成某种服务提供商许可协议,以用于您正在运行的 Windows 10 实例。