微服务的自适应、需求驱动的自动伸缩
分布式、并行与集群计算
2024-03-15 v1
摘要
微服务架构提供了多种益处,包括粒度、灵活性和可扩展性。该架构的一个关键特性是能够对微服务进行自动伸缩,即调整副本数量和/或管理资源。目前已存在多种自动伸缩解决方案。然而,当应用于多样的微服务组合时,现有解决方案可能会表现出次优的资源分配,要么超出实际需求,要么达不到需求。这反过来可能导致环境不平衡、停机和不可取的基础设施成本。我们提出了 MS-RA,一种用于微服务自动伸缩的自适应、需求驱动的解决方案。MS-RA 利用服务级别目标(SLOs)进行实时决策。我们的解决方案可根据特定需求和成本进行定制,通过精确使用恰当数量的资源来满足既定需求,从而促进更高效的资源分配。我们基于 MAPE-K 自适应循环开发了 MS-RA,并使用一个开源的基于微服务的应用程序对其进行了评估。结果表明,MS-RA 的表现显著优于行业标准 Kubernetes 自动伸缩机制——水平 Pod 伸缩器(HPA)。它通过使用更少的资源,同时仍确保满足感兴趣的 SLO 来实现这一点。具体而言,与 HPA 相比,MS-RA 满足了我们案例研究系统的 SLO 要求,且所需的 CPU 时间至少减少 50%,内存减少 87%,副本减少 90%。
引用
@article{arxiv.2403.08798,
title = {Self-adaptive, Requirements-driven Autoscaling of Microservices},
author = {João Paulo Karol Santos Nunes and Shiva Nejati and Mehrdad Sabetzadeh and Elisa Yumi Nakagawa},
journal= {arXiv preprint arXiv:2403.08798},
year = {2024}
}
备注
This paper has been accepted at the 19th International Conference on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2024)