GitHub 以逐 reference quorum 擴充 Git 儲存架構
- GitHub 多數儲存庫已有五個副本中的兩個存放在 Azure,Azure 目前處理約一半的 Git 流量。
- GitHub 將寫入 quorum 的序列化範圍從整個儲存庫縮小到個別 reference;內部測試顯示,不同 reference 的寫入吞吐量提高 3–4 倍,延遲也較低。
- GitHub 把 Azure Blob Storage 納入 quorum,並以 virtual write replica 傳送寫入;只有資料已持久儲存後,寫入才會獲得確認。
- GitHub 可按需增加不加入 quorum 的 virtual read replicas,讓它們從 Azure Blob Storage 載入快取並在背景同步狀態。
本站見解
對多個 agent 或開發者各自推送不同分支的工作負載,逐 reference 排序可避開舊有的整個儲存庫寫入鎖;若寫入集中在同一 reference,彼此仍須等待。讀取副本脫離 quorum 後可獨立擴充,但背景同步目前不適用所有讀取類型,完整支援仍需在讀取時追補差異。寫入擴充的瓶頸仍是 quorum,後續還需處理排序與耐久 reference state 等問題。
以逐 擴充 儲存 存架 架構 多數 數儲 存庫 庫已 已有 有五 五個 個副 副本 本中 中的 的兩 兩個 個存 存放 放在 目前 前處 處理 理約 約一 一半 半的 流量 將寫 寫入 的序 序列 列化 化範 範圍 圍從 從整 整個 個儲 庫縮 縮小 小到 到個 個別 內部 部測 測試 試顯 顯示 不同 的寫 入吞 吞吐 吐量 量提 提高 延遲 遲也 也較 較低 納入 並以 傳送 送寫 只有 有資 資料 料已 已持 持久 久儲 存後 入才 才會 會獲 獲得 得確 確認 可按 按需 需增 增加 加不 不加 加入 讓它 它們 們從 載入 入快 快取 取並 並在 在背 背景 景同 同步 步狀 狀態 對多 多個 或開 開發 發者 者各 各自 自推 推送 送不 同分 分支 支的 的工 工作 作負 負載 排序 序可 可避 避開 開舊 舊有 有的 的整 庫寫 入鎖 若寫 入集 集中 中在 在同 同一 彼此 此仍 仍須 須等 等待 讀取 取副 本脫 脫離 後可 可獨 獨立 立擴 但背 步目 前不 不適 適用 用所 所有 有讀 取類 類型 完整 整支 支援 援仍 仍需 需在 在讀 取時 時追 追補 補差 差異 入擴 充的 的瓶 瓶頸 頸仍 仍是 後續 續還 還需 需處 理排 序與 與耐 耐久 等問 問題
來源
- The bridge to agent-scale Git infrastructure · GitHub Blog
本文摘要與見解由 AI 自動生成,事實以原文為準。 AI 內容政策