加密交易所新闻 稳定币与中央银行数字货币

Uber革新持续集成体系,大幅降低CI成本提升开发效率

加密交易所新闻 稳定币与中央银行数字货币
Slashing CI Costs at Uber

随着软件开发规模的不断扩大和复杂度的增加,如何高效管理代码集成、加快变更合入速度成为大型科技企业的重大挑战。Uber通过其先进的SubmitQueue系统,利用机器学习和概率模型重新定义了CI资源调度策略,实现了超过50%的资源使用率降低和近40%的等待时间缩减,推动开发效率与成本控制的双重跃升。本文深入解析Uber持续集成优化的技术细节、瓶颈突破与创新成果,揭示了大规模代码库下CI优化的前沿实践与趋势。

在当今快速发展的科技行业,随着团队规模的扩大和工程量的激增,持续集成(CI)系统面临的挑战也日益严峻。尤其是像Uber这样拥有数千名工程师,贡献数百万代码行,横跨多语言与多项目的超级仓库,如何保证主干分支始终“绿色”且支持快速迭代,已成为推动业务创新与技术落地的基石。Uber独创的SubmitQueue系统,正是在这一背景下诞生的强力引擎,通过智能调度和预测优化,显著降低了CI资源开销,缩短了开发者的等待时间,保障了代码变更的高效落地。持续集成系统的核心价值在于能快速检测出代码冲突和集成风险,防止缺陷进入主线影响产品稳定性。但随着代码库与提交频率的爆炸式增长,传统CI系统容易陷入资源浪费和排队延迟的泥潭。Uber旗下多达六个大型单体仓库,涵盖Go、iOS、Android等七种主流编程语言,每月处理数以万计的代码变更,如何让提交过程高效且稳健,确保数万次部署顺利进行,考验着技术团队的极限。

SubmitQueue的独特设计基于“构建猜测树”(speculation tree)原理,它会预测当前所有待处理变更的不同构建结果可能性,利用机器学习模型计算每个变更成功合入的概率,并以此优先运行最有可能成功的构建任务。通过并行执行这些构建,SubmitQueue最大限度压缩了代码落地的时延,同时通过冲突分析技术,剪枝重叠的变更路径,使并行度更高、资源得到更优分配。尽管如此,Uber工程团队发现早期的SubmitQueue仍存在浪费资源以及等待时间过长的问题。一个典型场景是,当一个新的构建任务被预测更有可能成功时,系统会终止正在进行的构建,导致大量构建被迫中断并重排,造成CPU和构建机等资源的浪费。另一方面,在变更提交顺序严格按照先后处理的情况下,后续的小型变更往往被排在大规模修改的大变更之后,无法抢先合入,等待时间长达数十分钟,极大影响开发者体验。为了解决这两个严重制约CI系统效率的问题,Uber研发团队推出了“绕过大差异”(Bypassing Large Diffs,BLRD)技术。

BLRD引入了“交换律”思维,如果两个变更无论先后合入结果相同,则可以允许后来的小变更绕过前面的大变更先行落地。具体实现是系统会对涉及冲突的变更进行多路径构建,比较构建结果是否一致,只有当所有路径结果相同时,后面的小变更才可以跳过大变更提前提交。这样,不仅大幅减少了等待时间,也防止了资源盲目浪费。BLRD的落地并非易事,因为它要求SubmitQueue不仅识别单条构建路径是否成立,而是必须同时评估多条路径构建的成功率和完成时间。为此,Uber引入了更复杂的概率模型和机器学习算法,联合预测每条构建路径的成功概率和完成时长。系统通过统计历史构建数据,使用NGBoost等先进模型对构建时间进行均值和方差估计,进而计算两个冲突变更哪个构建会更快完成的概率,作为调度决策依据。

这种全新的调度策略不仅综合考虑了冲突变更的交互影响,还动态调整构建顺序,最大限度地提高资源利用率和缩短落地时间。为了避免在构建路径过多时资源被稀释,Uber设定了推测阈值,仅对超过一定概率的构建节点进行调度,保持构建任务的专注和高效率。评估数据表明,采取新型调度策略后,Uber在其主要的Go、iOS、Android单体仓库中实现了令人瞩目的性能提升。构建与变更比率(build-to-changes ratio)平均下降了45%-64%,每周CPU使用时长减少了约35%-53%。与此同时,第95百分位的等待时间降低了30%-45%,保障开发者能够更快获得反馈,加快交付节奏。这些改进不仅节省了庞大的计算资源开销,降低了运营成本,更促使开发团队以更高的效率响应业务需求,缩短产品迭代周期。

通过不断优化SubmitQueue,Uber证明了即便面对世界顶级规模的单体仓库和复杂的变更冲突网络,智能CI调度和机器学习模型同样能有效破解资源瓶颈,提高代码健康度,促进持续交付的稳健推进。未来,随着人工智能辅助编码工具的普及和提交频次的持续攀升,Uber正计划引入更加高级的调度算法,提升SubmitQueue的吞吐能力,从而应对更大规模的工程挑战。总结来看,Uber在持续集成领域的创新不仅体现了技术实力和工程实践的深度,更彰显了以数据驱动、智能优化为核心的现代软件工程理念。从基础架构的构建路径预测,到冲突路径的多维决策,再到全局资源的合理调度,每一步都紧扣提高效率和降低成本的核心目标。这些经验和方法不仅适用于大规模单体仓库,也为广大全球软件开发团队提供了宝贵的借鉴。通过深度挖掘和智能化调度,持续集成将不仅是质量保障的守护神,更是促进技术革新与业务突破的重要引擎。

随着行业持续演进,期待Uber与更多企业一道,探索更智慧、更高效的CI/CD新境界,赋能下一代数字化时代的敏捷创新浪潮。

加密货币交易所的自动交易 以最优惠的价格买卖您的加密货币 Privatejetfinder.com

下一步
Ask HN: Digitize a Library?
2025年09月21号 05点48分57秒 如何高效数字化图书馆藏:从传统藏书到现代数字化的转变之路

随着数字时代的到来,越来越多的书籍收藏者开始考虑将传统纸质书籍数字化保存。本文深入探讨如何高效地将大量图书进行数字化处理,介绍多种实用方法和设备推荐,助您实现藏书的数字化转型。

Pro-Indy accounts go dark after Israeli strikes
2025年09月21号 05点51分07秒 以色列空袭引发亲苏格兰独立账户集体沉默:背后的网络影响战揭秘

2025年6月,以色列对伊朗发动一系列空袭与网络攻击,导致数十个在X平台上活跃的亲苏格兰独立匿名账户突然消失。本文深入剖析了此次事件的背景、伊朗在英国政治中的网络影响操作,以及这些网络行动如何被以色列的军事行动所瓦解,揭示了当代网络空间里国际博弈的新形态。

Frankfurt School
2025年09月21号 05点52分10秒 法兰克福学派:批判理论的诞生与影响解析

探讨法兰克福学派的起源、主要理论与代表人物,以及其在社会学、哲学和文化批判领域的深远影响。本文深入分析批判理论的内涵,阐述该学派如何解读资本主义、文化工业与现代社会的矛盾,为读者提供全面理解法兰克福学派的视角。

I Deleted My Second Brain
2025年09月21号 05点53分20秒 我删除了我的第二大脑:重新发现思维的自由与纯粹

在数字化时代,第二大脑系统成为许多人提升效率和管理知识的利器。但当信息过载成为负担,何时该学会放手,重新找回思维的自由与创造力?本文深度探讨第二大脑的利弊,分享作者亲身体验删除10,000条笔记后的心路历程与思考,帮助读者反思信息管理的真正意义。

Google Donates the Agent2Agent Protocol to the Linux Foundation
2025年09月21号 05点54分36秒 谷歌将Agent2Agent协议捐赠给Linux基金会,推动AI代理互操作新纪元

谷歌将其创新的Agent2Agent(A2A)协议捐赠给Linux基金会,旨在推动不同AI代理之间的通信标准化与互联互通,促进行业协作与AI生态系统发展。这一开源协议帮助实现多框架、多平台AI代理之间的无缝对话,为AI技术的未来发展奠定坚实基础。

Bunker Busters my have failed to penetrate Iranian concrete
2025年09月21号 05点55分34秒 巨型穿甲炸弹可能未能突破伊朗军事混凝土防线的真相解析

深入探讨美国巨型穿甲炸弹对伊朗地下核设施的打击效果,揭示伊朗军用混凝土的先进特性及其对现代军事打击武器的抵御能力,分析此类武器在未来战争中的应用与局限。

Michael Saylor’s Strategy Has 91% S&P 500 Shot if BTC Price Holds
2025年09月21号 05点56分27秒 迈克尔·塞勒战略若比特币价格坚挺,MicroStrategy九成概率入选标普500

探讨MicroStrategy公司依赖比特币价格以实现财务表现并有望成功入选标普500指数的可能性,分析比特币市场走势对企业影响及其对未来投资格局的深远意义。