Cursor 双周综述|Origin Code Hosting:WAL-first 重新定义大规模 Git 托管
本期亮点 Origin Code Hosting:Cursor 发布自研 Git 托管系统,以 WAL-first + S3 为核心设计,突破 GitHub Spokes 的水平扩展瓶颈 Cloud Agents 更新:事件驱动的 Subscriptions、子 agent 独立 VM、/goal 持久目标 技术深度:Continuity 系统设计详解,值得反复研读 核心解析:为什么 Git 托管是个地狱级难题 Vicent Martí(Origin 项目负责人)在这篇博文中给出了一个教科书级别的系统分析。他的核心论点是:Git 的分布式设计是针对 Linux 内核那样的去中心化工作流优化的,但现实中 99% 的公司其实需要一个强一致的中央协调点。这个根本矛盾导致大规模 Git 托管成为一个被低估的技术难题。 Packfile:一切的罪魁祸首 Git 的数据存储单元是 packfile,这是一种压缩后的二进制格式,对象在 packfile 里的物理位置与其在 DAG 中的逻辑位置毫无关联。一个 commit 指向某个 tree,tree 指向若干 blob,要读取它们必须沿着 DAG 边跳转,而每条边都可能跳到 packfile 里任意偏移量的位置。 这种随机读写模式在本地 NVMe 上没问题,但一旦上网络存储,带宽和延迟会让性能崩溃。GitHub 早年试过 GFS(Google File System)和 DRBD,最终都撞墙了——packfile 随机读的 IO 模式和网络文件系统的线性读写模式天然不兼容。 GitHub Spokes 的历史选择与局限 GitHub 在 2013 年推出的 Spokes 是一个三副本强一致的复制方案,使用 3PC(三阶段提交)来保证每个 push 在所有副本同步完成后才应答。这个设计在很长时间内都是行业标准,GitHub、GitLab 等主流平台都借鉴了类似思路。 ...