Stretching Spokes
Oct 13, 2017Michael Haggerty

Summary
This post details the engineering effort to enable GitHub's Spokes system to replicate Git repositories across widely separated datacenters. It explains the challenges of high latency impacting Git reference update rates and the optimizations implemented: using three-phase commit with Git transaction work for deterministic updates, incremental checksum computation for efficient state comparison, and prioritizing user-initiated updates over background bookkeeping. The post also highlights the benefits of geo-replication for faster reads and improved disaster recovery.