工程实践Yelp Engineering
文章介绍Yelp将前端React单体仓库中的Apollo Tooling迁移到GraphQL Codegen的工程实践。原先使用的Apollo CLI存在全局安装依赖、CI集成困难、在大型多包仓库中代码生成缓慢等问题。通过引入GraphQL Codegen,团队利用其灵活的插件体系、并行处理和项目级依赖管理,将代码生成时间从数分钟缩短至数秒,显著改善了开发体验与CI稳定性。文章详细描述了迁移的步骤,包括如何处理类型命名冲突、与VSCode扩展的集成,以及逐步替换Apollo类型钩子的策略。
文章真实记录了工具链替换的完整决策与实施过程,提供了性能对比、配置技巧和踩坑处理,对维护大型代码库且面临类似代码生成效率问题的团队具有直接参考价值。读者可借鉴其渐进迁移、避免破坏性变更的经验,以及基于插件体系优化工作流的方法。
工程实践Yelp Engineering
本文介绍了Yelp为统一机器学习模型训练而构建的Training Orchestrator系统。面对多团队使用各自Spark训练脚本、配置分散、代码重复和维护成本高的问题,Yelp核心ML团队在已有特征存储、统一训练库、MLflow等工具的基础上,设计了一套标准化的训练编排层。该平台提供了统一的作业调度、工作流执行和监控机制,将模型训练任务抽象为可复现的流水线,并与Spark和MLflow无缝集成。文章还讨论了系统架构的权衡、对团队效率的提升以及适用范围(主要服务于基于Spark的训练场景)。
推荐收录,因为该文不是泛泛的MLOps概念介绍,而是基于Yelp真实工程需求,详细展示了从分散脚本到统一训练平台的架构演进。文中对训练编排、与现有ML基础设施集成的设计权衡,以及规模化运营的考量,对正在构建或优化内部ML平台的数据与工程团队具有直接参考价值。其可迁移经验包括如何通过平台化手段降低维护成本、提升模型训练的一致性,但需注意其方案强绑定Spark生态。
工程实践Yelp Engineering
这篇文章介绍了 Yelp 如何通过“分区访问可视化”来分析数据湖中表分区的真实使用模式:把分区键取值与访问事件时间进行对齐,从而识别出临时查询、每日批处理和周期性回填等不同访问签名。基于这种可观测性,团队进一步推进了大规模表迁移到 Apache Iceberg,并发现了存储和访问层面的优化机会,最终将 S3 成本降低了 33%。文章的核心价值在于把数据资产的“被谁、何时、如何使用”变成可视化、可操作的工程信号,但其效果依赖于较完整的访问日志和分区化数据湖场景。
推荐收录,因为它不是泛泛讲成本优化,而是给出了一种可迁移的数据使用分析方法:通过分区访问模式可视化来指导表格式迁移、生命周期管理和存储优化。对做数据平台、湖仓治理和成本治理的工程师来说,这篇文章能直接启发指标设计、治理流程和架构决策。
工程实践Yelp Engineering
文章接着前文介绍 Yelp 的 server-driven UI 框架 CHAOS,重点讲它如何与跨平台设计系统 Cookbook 以及自动生成的桥接库 Konbini 协同工作。作者先说明 Yelp 与 Yelp for Business 在 Web、iOS、Android 上存在多套界面变体,导致视觉与交互一致性难以维护。随后描述如何把设计系统组件抽象成可复用的 SDUI 组件,并通过桥接层把同一套定义映射到不同平台渲染实现。文章也讨论了自动生成桥接代码在减少重复劳动、降低差异漂移方面的作用。它更适合已有多端应用和设计系统的团队参考,但前提是组件边界清晰、平台能力差异可被抽象,否则一致性和灵活性仍会冲突。
推荐收录,因为正文直接围绕 CHAOS、Cookbook 和 Konbini 的集成展开,讨论了如何在 Web、iOS、Android 多端保持界面一致,并用自动生成桥接层降低实现分叉。适合做多端产品、设计系统或 SDUI 落地的团队参考;可迁移价值在于组件抽象、跨平台映射和减少重复代码,但也依赖平台差异可被稳定封装。
工程实践Yelp Engineering
文章复盘 Yelp 数据库可靠性团队如何将一千多台 Cassandra 节点从 3.11 升级到 4.1,并做到全程零停机。作者先说明 Cassandra 在 Yelp 中承载主数据与衍生数据,且集群运行在 Kubernetes 上、由 operator 编排,因此升级必须兼顾状态迁移、回滚和服务连续性。文中强调此次升级的驱动力不仅是版本更新,还包括更好的可观测性、可靠性和性能,且决策参考了公开基准。整体上,它展示了大规模有状态服务在成熟运维体系下的分批规划、验证与上线思路,但其可迁移性明显依赖现有自动化、编排和回滚能力。
有明确工程证据:超过一千台 Cassandra 节点、Kubernetes + operator、3.11 到 4.1、零停机升级,说明这是大规模状态系统的真实复盘。适合做数据库可靠性、滚动升级和有状态服务编排的参考,但方法强依赖现有自动化与回滚机制,迁移时需评估自身条件。
工程实践Yelp Engineering
文章介绍 Yelp 为广告预算分配系统搭建回测引擎的实践,用于在正式上线前评估调参或策略变更是否会影响广告展示、预算消耗和广告主收益。作者指出该系统存在明显的反馈回路,单点改动可能放大成系统级波动,因此仅看离线指标或局部测试并不足以判断安全性。回测引擎的目标是在历史数据和既有行为假设下重放预算分配过程,尽量提前暴露收益、投放结构和边界条件上的风险。文章强调这种方法适合复杂的广告/推荐类分配系统,但其结论仍依赖历史分布与建模假设,不能完全替代线上实验。
推荐收录,因为标题和导语直接给出了“back-testing engine”和“safer, smarter ad budget allocation”,说明它不是泛泛介绍功能,而是在解决带反馈回路的系统变更评估问题。适合做广告系统、推荐分流或其他预算/流量分配场景的工程参考,尤其可迁移其离线评估与上线风险控制思路。
工程实践Yelp Engineering
文章来自 Yelp 的 Revenue Automation 系列,聚焦在收入数据管道与第三方系统集成时的测试和验证方案。作者先说明现状:原本依赖 Redshift Connector 在报表发布后再同步到数仓,导致验证数据要延迟约 10 小时才能可见,严重影响迭代效率。基于这一约束,文章讨论了如何设计更稳健的生产测试与集成策略,以便在复杂转换逻辑下尽早发现问题。它的核心价值不在于单点工具,而在于围绕批处理数仓、外部系统联调和回归验证建立更短反馈闭环。该经验对类似的数据工程、财务/收入类流水线和第三方集成场景具有较强迁移性,但对实时系统或纯应用单测场景的直接参考有限。
文中直接给出旧方案通过 Redshift 同步带来约 10 小时验证延迟,这是重新设计测试链路的明确工程证据。适合做数据管道、数仓联调和生产验证的团队阅读,可借鉴其将反馈时延作为核心约束来优化测试策略的思路。