STAR如何不限于CPU阈值用GAT加Transformer实现容器级自动扩缩容

云原生时代,自动扩缩容几乎成了每个云平台、微服务系统乃至Kubernetes集群都无法回避的议题。
请求量一上来,资源吃紧,用户响应时间瞬间拉长;资源给得太多,月底云账单上的数字又格外扎眼。更棘手的是,现在的应用早已不是那个单一的单体服务,而是一群相互调用的微服务。某个服务背后可能挂着多个容器实例,每个容器的负载、队列、资源状态都各不相同。
那么,问题随之而来:系统到底该扩哪一个容器?扩多少?什么时候缩?如何在保证服务质量的前提下,还不把云成本打穿?
这篇论文《STAR: Spatial-temporal autoscaling for cloud applications with deep reinforcement learning》正是在回答这个问题,发表于2026年的*Expert Systems With Applications*(Elsevier旗下)。从期刊的定位看,它不是那种偏纯理论的机器学习论文,而是一篇典型的“用AI方法解决复杂工程问题”的应用型研究。该刊通常被归入SCI/SCIE收录、JCR Q1、中科院一区TOP、CCF-C人工智能方向期刊——当然,具体分区和级别,建议以各自单位采用的最新目录为准。
## 一、论文要解决什么问题?
这篇论文的核心关注点是 **cloud application autoscaling**,也就是云应用的自动扩缩容。
更具体地说,它研究的是:在一个由多个服务和容器组成的云应用中,如何根据不断变化的用户请求,动态调整容器的资源分配,使得应用的响应时间尽可能低,同时虚拟机的租用成本控制在预算以内。
论文将优化目标分解为两部分:一部分是平均响应时间MRT,代表用户体验;另一部分是成本超预算的惩罚项,代表云资源费用的控制。
换句话说,STAR并不是单纯追求“响应越快越好”,而是在问一个更现实的问题:
> 在给定成本预算下,怎样把响应时间压到最低?
这其实非常符合当前云成本治理(FinOps)的思路——工程系统不是一场无限资源的竞赛,而是在性能与成本之间寻找平衡点。
## 二、为什么自动扩缩容很难?
如果只是一个单体应用,扩缩容相对简单:CPU高了就扩,CPU低了就缩。
但微服务系统的复杂性远超想象。

第一点,服务之间存在调用依赖。一个用户请求可能先经过前端,再依次调用购物车、浏览服务,最后经过结账服务。如果中间某个容器成了瓶颈,整条请求链都会被拖慢。只盯着某个容器的CPU或队列长度,很容易误判真正的瓶颈在哪。
第二点,负载具有时间上的规律性。电商、内容平台、企业系统的请求量往往呈现出周期、峰谷、突发等模式。如果只看当前时刻,很容易导致扩容滞后或缩容过早。
第三点,服务级别的扩缩容粒度还远远不够。很多已有方法按服务整体扩容,比如给某个服务整体扩几个实例。但在实际系统中,一个服务可能有多个容器实例,它们的资源状态和负载并不完全相同。服务级的统一调整,难免造成资源浪费。
STAR认为,已有的基于深度强化学习的自动扩缩容方法主要有两个局限:
1. 没有同时显式建模应用内部的空间依赖和容器历史负载的变化。
2. 多数方法仍停留在服务级扩缩容,缺少容器级别的细粒度资源调整能力。
这正是STAR的切入点。
## 三、学术界目前怎么做自动扩缩容?
论文将相关工作大致分为两类。
第一类是 **启发式/规则型方法**。典型代表有AWS Auto Scaling、Kubernetes HPA等。这类方法通常依赖于阈值,例如CPU利用率超过80%就扩容,低于60%就缩容。优点是简单、稳定、容易部署;缺点是规则依赖专家经验,面对动态负载和复杂的微服务拓扑时适应性不足。
还有一些方法加入了预测模块,比如ProScale用简单移动平均预测未来负载,再配合启发式策略进行扩缩容。这比纯阈值方法更主动,但仍然依赖人工规则,预测误差也会传导到扩缩容决策中。
第二类是 **RL/DRL方法**。强化学习将自动扩缩容视为一个序列决策问题:系统观察当前状态,执行扩缩容动作,环境反馈响应时间和成本,模型逐步学习更优的策略。已有方法包括SARSA、Q-learning、DQN、TD3等,例如DeepScale使用DQN,DRPC使用TD3并支持在线重训练。
DRL的优势在于自适应性很强,但在工程落地中也面临挑战:状态空间大、动作空间复杂、训练不稳定、线上部署风险高。而且有不少DRL方法并没有很好地利用微服务拓扑结构和历史负载信息。
## 四、STAR的核心想法:空间 + 时间 + 容器级动作
STAR的全称是 **Spatial-Temporal Autoscaling**,名称本身就说明了它的核心思路:同时建模空间依赖和时间变化。
用一句话来概括STAR:
> GAT负责看清“服务拓扑里谁影响谁”,Transformer负责看懂“每个容器过去的负载趋势”,层级动作网络负责决定“先动哪个容器、动多少资源”。

论文提出了三个关键模块。
### 1. 用GAT捕获空间依赖
STAR将云应用表示成一张图。图中的节点是容器,边表示容器之间的执行顺序或调用依赖。这样一来,微服务应用就不再是一堆孤立的资源点,而是一个有结构的图。
接着,STAR使用 **Graph Attention Network(GAT)** 来学习每个容器的空间表示。GAT的好处在于,它可以给不同的邻居分配不同的注意力权重。换句话说,模型不仅知道“这个容器和哪些容器相连”,还能学会“哪些相邻容器对当前容器更重要”。
这一点对自动扩缩容至关重要。一个容器是否该扩容,不仅取决于它自己的负载,还取决于它在整个调用链中的位置,以及上下游容器的状态。论文中特别强调,STAR同时聚合前驱节点和后继节点的信息,也就是建模双向空间依赖——这比只看单向调用关系要完整得多。
### 2. 用Transformer捕获时间负载模式
除了空间结构,STAR还为每个容器记录了历史工作负载——也就是过去多个扩缩容决策点处理的请求数量。这些历史负载序列会输入到Transformer的自注意力模块中,从而得到每个容器的时间特征表示。
为什么选择Transformer?论文的理由是,Transformer的自注意力机制更适合捕获长期的时间依赖,比传统RNN、LSTM、GRU更能识别复杂的负载变化模式。实验中,作者也做了替换实验——把Transformer换成LSTM或GRU后,效果确实变差了。这说明时间编码器对STAR是有实际帮助的。
不过,这里有一个细节值得注意:STAR最后用了均值池化将时间序列嵌入汇总成一个历史表示。这个设计简单稳定,但也可能会弱化最近时刻的突发峰值信息,这也是后续可以继续优化的方向。
### 3. 用层级动作网络实现容器级扩缩容
有了空间表示和时间表示之后,STAR需要做出动作决策。它没有直接输出“每个服务扩几个实例”,而是设计了一个层级动作网络:
- 第一层叫 **Container Selector**,负责选出最需要调整的目标容器。
- 第二层叫 **Scale Generator**,负责决定对这个目标容器调整多少资源。
注意,STAR并不是让Scale Generator直接输出“创建容器”或“删除容器”。更准确地说,它先输出一个vCPU的调整量,然后系统再根据当前VM的剩余资源和目标容器状态,通过规则把这个调整量转化为具体动作。如果需要增加资源且当前VM剩余vCPU足够,就对目标容器做纵向扩容;如果VM剩余资源不够,就可能创建新的容器实例,也就是横向扩容。如果需要减少资源,就先减少目标容器的vCPU;如果缩减幅度足够大,也可能删除目标容器,即横向缩容。
所以,STAR的动作可以理解为两步:先选哪个容器,再决定资源调整量;最后由规则将调整量落实到纵向扩缩容或横向增删容器上。
这个设计有两个好处:首先,它支持容器级别的细粒度扩缩容。相比服务级统一扩缩容,容器级动作能减少资源浪费。其次,它能适应容器数量的变化。传统神经网络如果每个输出神经元绑定一个服务或容器,当容器数量变化时结构就不灵活了。STAR的Container Selector是对每个容器打分,然后选出优先级最高的容器,因此可以支持动态的容器集合。
当然,这里也有一个设计取舍:STAR每次决策只调整一个容器。作者认为这样可以避免资源剧烈波动,保持系统稳定。但在突发的大流量场景下,这也为后续的多容器协同调整留下了优化空间。
## 五、STAR用什么强化学习算法训练?
STAR使用的是 **ESRL(Evolutionary Strategy-based Reinforcement Learning)**。它不是常见的DQN、PPO或TD3,而是一种基于进化策略的强化学习方法。
简单理解,ESRL会维护一组策略参数的扰动个体,让它们分别运行在模拟环境中,再根据最终表现来更新策略参数。它的特点是:不依赖每一步的奖励值,只需要整个回合结束后的整体回报;训练过程相对稳定;超参数较少;适合在离线模拟环境中并行评估。
论文中,STAR的适应度定义为:负的平均响应时间减去超预算惩罚。也就是说,响应时间越低、成本越不超预算,策略得分就越高。
作者也承认,ESRL的样本效率可能不如TD3、SAC这类off-policy方法。但他们认为,STAR是在历史轨迹和模拟环境中离线训练,不直接影响生产系统,因此样本效率问题是可以接受的。
## 六、实验设计与主要结果
STAR的实验设置是比较完整的。论文使用了NASA、Wiki、Ali等真实用户请求轨迹,并结合三种应用架构A11、A12、A13,构造了多个实验场景。每个扩缩容决策的间隔为3分钟。
对比方法包括:
- AWS-Scale:阈值型扩缩容方法。
- ProScale:基于SMA预测的启发式方法。
- DeepScale:基于DQN的自动扩缩容方法。
- DRPC:基于TD3的分布式强化学习方法。
实验的主要指标是平均响应时间MRT和成本超预算程度Vio。结果显示,STAR在大多数场景下都取得了最低的MRT,并且所有场景中成本超预算为0。
例如在N-13场景中:
- AWS-Scale MRT为899.04 ms。
- ProScale MRT为406.82 ms。
- DeepScale MRT为493.62 ms。
- DRPC MRT为532.34 ms。
- STAR MRT为195.76 ms。
论文报告,STAR最多可降低**78.23%**的平均响应时间,同时保持VM租用成本不超过每天200美元的预算。
一个值得注意的场景是W-11:DeepScale的MRT为318.29 ms,略优于STAR的350.16 ms,但DeepScale的Vio为34.75,说明它明显超出了预算,而STAR的Vio为0。这恰恰说明STAR的优势不在于单纯堆资源去换响应时间,而是在成本约束下做出了平衡。

## 七、消融实验说明了什么?
STAR的消融实验非常有价值,因为它回答了一个关键问题:这个模型真的需要GAT和Transformer吗?
答案是:确实需要。
作者分别去掉了空间编码器和时间编码器,结果显示,两者的缺失都会导致性能下降。这说明自动扩缩容确实不能只看当前容器状态,也不能只看历史负载,而是需要同时理解两件事:容器在整个应用拓扑中的位置,以及容器自身负载随时间变化的趋势。
作者还将GAT替换成了GCN和GraphSAGE,结果显示GAT效果最好。这说明注意力机制对不同的邻居赋予不同权重,在微服务拓扑建模中确实有优势。同样,将Transformer替换为LSTM和GRU后,Transformer也更优,说明自注意力在捕获容器历史负载模式方面更胜一筹。
## 八、这篇论文的亮点
这篇论文有几个主要的亮点。
第一,问题定义很贴近真实的云成本管理。很多自动扩缩容论文只关注SLA违约或资源利用率,而STAR明确将预算纳入目标函数,这与真实云平台中的成本控制需求更加一致。
第二,方法组合很自然。微服务系统有拓扑结构,所以用GNN;负载有历史变化,所以用Transformer;容器数量会动态变化,所以用层级动作网络。这几个设计不是硬凑出来的,而是与问题结构对应得比较好。
第三,实验比较全面。除了主实验,论文还做了泛化能力分析、不同预算分析、尾延迟分析、消融实验、GAT层数分析、Transformer层数分析、ESRL超参数分析、PPO对比实验和惩罚系数分析。这使得论证比单纯报一个主结果更可信。
STAR最值得借鉴的地方,并不在于简单地将GAT、Transformer和RL拼在一起,而在于它将云应用自动扩缩容重新表述为一个结构化决策问题:既要理解服务拓扑,也要理解负载的时间模式,还要在成本约束下做出细粒度的动作选择。这种“结构感”,很可能也是下一代云资源调度研究的关键。
## 九、从工程落地看,STAR还可以继续往前走
STAR已经给出了一个非常完整的研究框架:它把微服务拓扑、历史负载和容器级动作决策结合起来,在实验中也取得了不错的性能与成本平衡。
不过,如果从真实云平台和Kubernetes生产环境的角度看,这类方法要真正落地,仍然有一些值得继续探索的问题。
第一,实验环境与真实生产环境之间还有差距。论文中的实验主要基于真实工作负载轨迹和模拟环境。这样的设置有助于控制变量,也便于系统性地比较不同方法。但真实Kubernetes集群会更加复杂,调度延迟、容器冷启动、镜像拉取、网络抖动、多租户干扰、监控延迟、节点资源碎片等因素,都会影响扩缩容策略的实际效果。因此,后续如果能在更接近生产环境的Kubernetes集群中验证STAR,会更有助于判断它在真实系统中的稳定性和工程价值。
第二,离线训练策略仍需面对负载漂移问题。STAR主要依赖历史工作负载轨迹在模拟环境中训练策略,然后用于后续推理。这种方式相对安全,不会直接在线上环境中试错,也更适合研究阶段的实验验证。但真实业务中的负载经常会发生变化,业务版本发布、营销活动、突发热点、外部依赖异常等因素,都可能让历史模式不再适用。如果策略无法持续适应新的负载分布,效果可能会下降。论文作者也在结论中提到,未来可以研究在线DRL算法,对策略进行周期性微调。这个方向很有价值,但也需要额外考虑安全性,避免模型在生产环境中进行高风险探索。
第三,每次只调整一个容器是一种稳定性设计,但也可能限制响应速度。STAR的层级动作网络每次会先选择一个目标容器,再决定资源调整量。这种设计有助于避免资源剧烈波动,让扩缩容过程更平滑。但在突发大流量场景中,瓶颈可能不是单点,而是多个服务或多个容器同时出现压力。如果每个决策周期只调整一个容器,系统可能需要多轮操作才能恢复到理想状态,响应速度可能不够快。因此,一个自然的扩展方向是:在保证稳定性的前提下,让策略一次选择Top-K个容器进行协同调整,或者引入多智能体强化学习,让多个服务或容器智能体协同决策。
第四,目前动作空间主要围绕vCPU,资源维度还可以继续扩展。论文主要关注vCPU资源的调整。对于很多CPU密集型应用来说,这是合理的,因为CPU往往直接影响请求处理速度。但在真实系统中,瓶颈不一定总是CPU。很多应用的性能问题可能来自内存、网络、磁盘I/O,甚至GPU。比如缓存服务可能更依赖内存,数据处理任务可能更依赖I/O,AI推理服务则可能更依赖GPU。因此,后续如果能把STAR扩展到多资源自动扩缩容,例如同时考虑CPU、内存、网络、I/O、GPU等资源,会更贴近复杂生产系统的实际需求。
第五,预算约束目前主要通过惩罚项处理,未来可以进一步引入更严格的安全约束。STAR将成本超预算作为惩罚项放入优化目标中。实验结果显示,STAR在所有场景中都没有超过预算,这说明惩罚项在实验设置下是有效的。不过从优化建模的角度看,惩罚项仍然属于软约束——模型并不是被严格禁止做出超预算动作,而是在超预算后受到惩罚。对于生产环境来说,预算、SLA、安全边界往往需要更强的约束机制。后续可以考虑约束强化学习、安全强化学习、约束策略优化等方向,把“不超过预算”从惩罚项进一步提升为更严格的决策约束。
第六,工作负载预测模块也会影响最终效果。STAR的状态输入中包含预测的工作负载,即对下一调度周期负载强度的预测。这个预测模型是预先训练并固定的。这意味着STAR并不是完全从原始监控指标端到端地学习策略。它的效果不仅取决于GAT、Transformer和ESRL,也会受到工作负载预测质量的影响。如果预测模块在突发流量、业务变更或异常场景下失准,扩缩容策略也可能受到影响。因此,未来可以考虑把负载预测和扩缩容决策结合得更紧密,例如引入联合训练机制,或者让预测模块不仅预测请求量,还预测瓶颈传播、队列积压和链路延迟变化。
第七,可复现性还可以进一步增强。论文使用了真实轨迹和模拟环境,但数据的可用性状态是“可索取”,并非完整公开的仓库式复现。对于云资源调度这类系统研究,如果能提供更完整的模拟器、配置文件、训练脚本、轨迹处理流程和实验复现指南,会更加方便后续研究者复现、比较和扩展。
如果把这些问题再往前推一步,STAR后续比较自然的扩展方向包括:
- 从离线训练走向在线安全微调;
- 从单容器动作扩展到多容器协同动作;
- 从vCPU扩展到CPU、内存、网络、I/O、GPU等多资源自动扩缩容;
- 从预算惩罚项走向约束强化学习/安全强化学习这类更严格的约束优化;
- 从模拟环境进一步走向真实Kubernetes集群验证;
- 从单独预测工作负载,走向预测模块与扩缩容策略的联合优化。
这些方向并不是对STAR的否定。恰恰相反,它们说明STAR已经把自动扩缩容问题推进到了一个更接近真实系统的位置:不只是“什么时候扩容”,而是“在复杂拓扑、动态负载和成本约束下,如何做更稳、更细、更安全的自治决策”。从这个角度看,STAR的价值不仅在于实验结果更好,也在于它为后续云原生资源调度研究留下了很清晰的扩展方向。

## 十、总结
STAR是一篇思路相当完整的云应用自动扩缩容论文。它的核心贡献可以概括为一句话:用GAT捕获容器间的空间依赖,用Transformer捕获容器历史负载模式,再通过层级动作网络实现容器级别的细粒度扩缩容。
相比传统的阈值方法和已有的DRL方法,STAR更充分地利用了微服务系统的结构信息和时间信息,因此在实验中取得了更好的响应时间与成本平衡。从生产级落地的角度看,STAR仍有进一步验证和增强的空间,例如真实Kubernetes环境验证、在线适应、多资源协同、硬约束优化等。
如果你的研究方向是云原生资源调度、Kubernetes自动扩缩容、DRL for cloud computing,STAR很适合作为一篇重点阅读的论文。它不仅提供了一个可参考的模型结构,也暴露了这个方向下一步值得做的问题:更真实的环境、更安全的在线学习、更复杂的多资源协同决策。
从更大的视角看,云资源调度正在从“基于阈值的自动化”走向“基于结构理解和策略学习的自治化”。STAR还不是终点,但它给了一个很好的样本:未来的云平台,不仅要知道CPU高不高,更要知道瓶颈在哪里、负载会怎么变化、成本边界在哪里,以及下一步应该最先调整谁。
## 原论文信息
解读论文如下:
Zhengxin Fang, Hui Ma, Gang Chen, and Shiping Chen. (2026). **STAR: Spatial-temporal autoscaling for cloud applications with deep reinforcement learning**. *Expert Systems With Applications, 319*, 132105. DOI: `10.1016/j.eswa.2026.132105`
来源:https://cloud.tencent.com.cn/developer/article/2694749
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
阿里云账号注册实名认证与免费领取云服务器全流程
想要使用阿里云服务?注册账号、完成实名认证,再免费领取一台云服务器及数千万Tokens用于AI模型调用——整套流程看似繁多,实际上只需3个步骤就能轻松搞定。下面详细拆解2026年最新的注册、认证与免费资源领取操作流程,跟着步骤来就能快速完成。 一、注册阿里云账号 以网页端为例,打开阿里云官网(www
运营学习一站式成长平台深度解析
近年来,1688作为国内头部的B2B批发交易平台,确实吸引了大量源头工厂和中小企业入驻运营。然而,一个现实问题摆在眼前:平台规则日益复杂,流量分配机制每年都在调整,虽然不少商家成功入驻,但真正能跑通、跑稳的并不多。零基础的新手看不懂规则、不会搭建店铺;成熟店铺流量持续下滑,询盘转化越来越低;想打造爆
新手运营从0到1中小企业B2B数字化起店指南
先跟刚入行的朋友们说句实在话,做1688这个领域,最怕的不是缺乏技巧,而是从一开始方向就出现了偏差。特别是对于中小企业和刚起步的商家,与其一味钻研那些所谓的“爆单秘籍”,不如先把经营理念理顺,把合规的数字化运营体系搭建扎实。太多人带着做淘宝、拼多多那套零售思维就贸然进场,结果流量寥寥无几,订单更是遥
Web UI自动化测试完整实战 从空项目到中文测试报告
去年这个时候,一个团队带着八百多条自动化用例来找我进行技术评审。一轮跑完,开发团队基本不看报告——内容太冗长,满篇英文描述,失败原因只写着“Element not found”,没人能分清是定位器发生了变化还是页面尚未加载完成。上个月再见到他们,用例数量削减到了两百条,通过率却从72%提升到了94%
阿里云百炼上线GLM-5.2 百万Token免费领 支持1M无损超长上下文
阿里云百炼平台近日迎来一款备受瞩目的新模型——智谱GLM-5 2正式上线,并同步推出诚意十足的福利:所有用户均可免费领取100万Tokens额度。对开发者和企业而言,这意味着能以零成本体验智谱最新旗舰模型的完整能力,从长文档处理到复杂推理,都能先行测试,再决定是否深度集成。 一、GLM-5 2是什么