关键词:
自动扩缩
云原生微服务
服务质量
资源效率
云计算
摘要:
近年来,云计算作为战略性基础设施已成为新一代信息技术、数字经济等国家重大发展战略中的重要建设内容。自动扩缩作为云计算的一个核心功能,它允许基础设施自动地增加或减少资源,以匹配应用程序的实时需求,从而确保高效的资源利用和优化的应用性能。与此同时,基于云原生的微服务作为一种轻量级、可伸缩的服务部署方式,已成为构建现代应用的首选方法。
然而,面向用户的微服务应用服务于动态工作负载,这些工作负载经常表现出多变性和突发性。并且服务之间存在复杂的依赖关系,这给自动扩缩微服务从而在服务级别协议(SLA)内保持服务质量(Qo S)带来了挑战。此外,保守的策略可能过度供应造成浪费资源,而激进的策略可能供应不足导致违反SLA,这一事实使得设计有效的自动扩展变得更加困难。为了解决这些问题,本文研究了云原生微服务在动态工作负载中的自动扩缩算法,并结合多种前沿机器学习技术提出了相应解决方案,从而优化了微服务在运行时的Qo S保证和资源效率。具体来说,本文的主要研究工作和贡献包括以下三个方面:
(1)提出了依赖自适应的自动扩缩算法。该算法采用基于期望最大化的迭代式图学习方法,以自适应地生成揭示服务依赖关系的亲和矩阵,并采用基于注意力的图卷积网络,通过聚合图结构数据的邻居信息来提取微服务的时空特征。因此,该算法可以捕捉到更多潜在的依赖关系,并准确估计动态工作负载下所有服务的资源需求。它能够在一次资源扩缩操作中重新配置所有关联服务资源,避免了服务依赖所导致的级联效应。实验结果表明,所提出算法不仅能准确预估和分配资源,还能自适应服务依赖的变化,并以更低的成本显著地减少了平均41%的SLA违约。
(2)提出了基于离线深度强化学习的自动扩缩算法。该算法首先利用历史遥测数据和机器学习方法构建了一个能够动态模拟资源配置、工作负载和性能之间关系的微服务模拟环境。然后使用模拟环境来提高深度强化学习(DRL)智能体的训练效率。训练好的DRL智能体可以迁移到真实微服务环境中,并根据实时监控指标在线扩缩资源。实验评估了模拟环境的保真度,评估了资源分配策略从模拟环境迁移到真实微服务环境的有效性,并和其他自动扩缩算法进行了对比评估。评估结果表明,与其他主要算法相比,所提出算法能够在时间受限的交互训练下实现更高效的资源分配策略,并以更低的成本降低了32%-92%的SLA违约。
(3)提出了突发感知的自动扩缩算法。该算法采用了一种新颖的基于预测的突发检测机制,能够区分可预测的周期性工作负载峰值和实际工作负载突发。一旦检测到突发,该算法通过超额估计来采取宽松的资源分配策略,以应对资源需求的快速增长。相反,在非突发时,该算法利用DRL来校正资源估算中潜在的不准确估计以实现更保守和精细的资源分配策略。通过真实的自动扩缩实验,验证了所提出算法在保障SLA和减少资源成本方面的有效性。同时,在十个工作负载的适应性验证中,所提算法对包括突发在内的不同工作负载特征表现出最好的适应性。在十个真实工作负载上进行的实验验证了所提算法的有效性,与其他主要方法相比,在SLA违约方面平均减少了57%,在资源成本方面平均降低了10%。
综上所述,本文针对云原生微服务动态工作负载的自动扩缩问题,结合图神经网络和深度强化学习等前沿机器学习方法,提出了三种创新性算法。这些算法有效克服了现有自动扩缩策略难以有效应对复杂服务依赖、交互耗时以及应无法处理工作负载突发等方面的不足。通过广泛的实验,验证了这些算法在优化Qo S、提高资源利用率和减少SLA违约等方面的有效性。本文的研究成果对于理解和实现可靠和高质量的云原生应用至关重要,并为服务计算等相关领域的进一步发展奠定坚实基础。