我目前正致力于扩展大型基础架构,该基础架构涉及在计算服务器场(具有有限数量的计算机的集群)上分发复杂计算。当前系统基于面向服务的体系结构,其中在集群中的每台计算机上运行有限数量的服务。
发送这些服务的每个请求使用的资源( CPU,内存)根据请求的内容而有很大差异,但可能已知(或至少预测< / em>)提前。换句话说,对于给定的请求,可以知道以下内容:
我们当前的架构存在问题,因为我们的调度程序&#39;不考虑任何这些参数。因此,我们经常会遇到一个特定服务器被非常昂贵/不兼容的问题占用的问题。请求(在内存使用,使用的CPU核心等方面),因此处理它们的效率非常低,而其他服务器则被相对“便宜”的服务所占用。请求。
我们希望通过将当前的基础架构转移到更现代的业务流程系统(例如Kubernetes(或其他))来优化此分配流程。我目前的问题是,鉴于这些要求(具有不同资源要求的请求的有效分配 - 在处理请求之前已知),当前可用的平台可能非常适合优化此类型的工作流?
谢谢, 乔恩
答案 0 :(得分:0)
Kubernetes似乎非常适合这种类型的工作量。每个请求都可以作为Job运行,它将运行一个或多个容器来处理请求。这些容器可以在规范中提前请求最少量的资源,并指定对这些资源的限制(例如最大内存和最大内核数),Kubernetes调度程序可以在集群中选择一个可以满足并执行这些要求。
这将使您忘记工作负载实际运行的位置,并专注于确保您准确描述每个请求的要求。