灵活的资源配置

问题描述 投票:0回答:1

我有一个服务器,我的学生可以在其中上传他们的网络应用程序(Python+Flask)。应用程序仅在使用时(用户进入应用程序时)才需要资源,这种情况很少见。我想通过以下方式在应用程序之间共享服务器资源(内存和CPU):

  • 如果当前仅使用一个应用程序,则应允许其使用所有系统资源。
  • 如果使用两个或多个应用程序,则应在它们之间平均分配资源。例如,假设服务器有 4 GB 内存和 2 个 CPU,并且同时使用两个应用程序。那么每个应用程序最多应该能够使用 2 GB 内存和 1 个 CPU。
  • 此外,我想给一些应用程序更高的优先级,这样,如果使用优先级应用程序,它可以使用所需的内存+CPU,而不管其他应用程序使用什么。

我该怎么做?

注意:我的服务器当前运行 Ubuntu,但如果需要,我可能可以切换到其他操作系统。

web-applications resources
1个回答
0
投票

为了处理跨各种操作系统的管理,我建议采用基于容器的方法,例如Docker,结合Kubernetes等编排器。这种组合为每个应用程序的资源提供了更强大的控制层。

通过利用 Kubernetes 编排和监督容器,您可以为 Flask 应用程序的每个实例创建独立的单元(称为“pod”)。该架构允许您为每个 Pod 定义内存、CPU 等资源限制,保证机器资源的高效、公平分配。此外,您可以创建优先级来区分需要更高资源的应用程序,确保在必要时满足其需求。

© www.soinside.com 2019 - 2024. All rights reserved.