标签: Gitaly

共 1 篇

GitLab 的 Git 服务架构:Gitaly、Praefect 与仓库的拆分

2026年10月17日

GitLab.com 早年打开一个仓库的 P99 超过 30 秒,CPU 却只用了 15 毫秒。顺着这个现象往下追:仓库为什么离开 NFS,一次 clone 由谁鉴权、pack 字节走哪条路,Gitaly 怎么把 RPC 变成受控的 git 进程、怎么扛住 CI 的并发 clone,push 怎么在 Gitaly 和 Rails 之间往返,Praefect 怎么投票、怎么修复落后的副本,最后看 WAL 和 MVCC 后端在当前源码里真正走到了哪一步。