← 最新论文
💻 计算机科学

Dynamic Sampling for Telemetry in Microservices: A Reinforcement Learning and Entropy-Based Approach

本文介绍了 RADAR,一种基于强化学习和熵的智能体,它通过动态优化微服务遥测采样,在大幅降低资源消耗的同时,保留了关键的可观测性和数据质量。

原作者: Renan Martins Alves, Jéferson Campos Nobre, Juliano Araujo Wickboldt

发布于 2026-10-19
📖 1 分钟阅读☕ 轻松阅读

原作者: Renan Martins Alves, Jéferson Campos Nobre, Juliano Araujo Wickboldt

原始论文采用 CC BY 4.0 许可(https://creativecommons.org/licenses/by/4.0/)。 ✨ 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

现代软件通常不再表现为一个单一的、庞大的程序,而是作为一个由相互通信的小型独立服务组成的集群。这种被称为“微服务”的方法允许公司快速更新应用程序的部分功能,并根据需要对其进行扩缩容。然而,这种灵活性也带来了一个隐藏的代价:当出现问题时,变得极难洞察系统内部正在发生什么。为了解决这个问题,工程师们使用了一种叫做“分布式追踪”(distributed tracing)的技术。想象一下,一位客户在网站上提交订单;这单个请求可能会在十几个不同的服务之间跳转,包括检查库存、计算税费和处理付款。分布式追踪会跟随该请求从开始到结束,绘制出其旅程的详细地图。这张地图对于发现漏洞和理解性能问题至关重要,但它也会产生海量的数据。如果一个系统每秒处理数百万个请求,收集每一个追踪记录将会使网络过载,消耗巨大的计算能力,并以不可持续的速度填满存储驱动器。

因此,挑战在于如何在不被常规、成功的操作所产生的噪音淹没的情况下,收集足够的数据。传统方法通常依赖于简单的规则,例如仅记录每百个请求中的一个,或者等到发生错误时才开始记录。这些方法往往过于僵化;它们可能会错过罕见但关键的故障,或者可能浪费资源去记录那些无法提供新见解的平凡流量。巴西里奥格兰德州联邦大学的研究人员开发了一种处理这一困境的新方法。他们创建了一个名为 RADAR 的系统,它充当了这些数据的智能、自适应过滤器。RADAR 不再使用固定规则,而是通过不断测试不同的采样规则组合并观察结果,来学习哪些追踪记录是值得保留的。

RADAR 的核心思想是将数据收集视为一个学习过程。该系统使用一种称为“强化学习”的方法,其中一个计算机代理(agent)做出决策、观察结果并调整策略,以获得更好的结果。在这种情况下,代理的目标是在最小化存储数据量的同时,最大化所保留数据的“信息价值”。为了衡量信息价值,研究人员使用了信息论中一个被称为“熵”(entropy)的概念。简单来说,熵衡量了一组数据的多样性或不可预测性。如果一组追踪记录完全相同,则熵值低且价值也低,因为它们无法提供任何新信息。而包含许多不同、罕见且异常路径的集合则具有高熵和高价值,因为它们揭示了系统的复杂行为和潜在故障。RADAR 利用这种多样性作为奖励信号。当代理选择了一套既能捕捉广泛且独特的行为,又不会收集过多数据的规则时,它就会获得高额奖励,并学会重复这一选择。

为了测试这个想法,研究人员构建了一个运行在计算机集群上的模拟在线商店,模拟了现实世界应用中复杂的环境。他们引入了各种类型的流量,包括正常浏览以及旨在触发错误或异常行为的特定场景。随后,他们让 RADAR 代理运行了数小时,使其能够实验不同的规则。有些规则侧重于捕捉缓慢的请求,有些侧重于错误,还有些侧重于特定的业务事件,如高额购买。代理会在这些规则之间切换,观察收集了多少追踪记录以及它们的差异性如何。随着时间的推移,代理学会了找到完美的平衡点。它发现自己并不需要记录每一个请求来了解系统;相反,通过专注于最具多样性和信息量的路径,它可以在大幅削减数据量的同时,保持对系统健康状况的清晰认知。

实验结果非常惊人。与记录每一个追踪记录的系统相比,RADAR 将通过网络传输的数据量减少了 97.4%。它还将处理这些数据所需的计算能力降低了 99.0%。这些节省是非常显著的,因为这意味着系统可以运行得更便宜、更快。然而,研究人员非常谨慎,确保这种效率不会以丢失重要信息为代价。他们将 RADAR 收集的数据与完整数据集进行了对比,以查看其是否捕捉到了罕见且关键的事件。他们发现,RADAR 保留了大约 85.6% 的罕见追踪模式——即那些通常预示着严重问题开始的独特、一次性事件。此外,保留数据的平均多样性增加了约 25%,这意味着剩余的数据比随机采样的数据在诊断方面要有用得多。

这种方法代表了从静态的、由人类定义的规则向动态的、自主管理方式的转变。传统系统要求工程师手动决定应用哪些规则,而随着系统变化和增长,这项任务会变得非常困难。相比之下,RADALL 能够根据系统的当前状态进行持续调整。它不需要预先被告知错误看起来是什么样的;它只需学习识别出:一组多样化的行为比重复性的行为更有价值。该系统完全在现代软件工程师使用的标准工具内运行,使其能够兼容现有的基础设施,而无需对应用程序代码进行侵入性更改。

这项研究表明,在不牺牲观察系统故障能力的前提下,大幅减轻复杂系统监控负担是可能的。通过使用数学上的多样性度量来引导收集过程,研究人员展示了一个智能代理可以学习如何过滤掉噪音并保留信号。虽然实验是在受控环境中进行的,但结果为管理日益增长的云端应用复杂性提供了一条可行的路径。这项工作强调,未来系统监控的关键不在于收集更多的数据,而在于收集更聪明的数据,并由能够实时理解信息价值的代理来引导。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →