Meet Praefect: The traffic manager making your Git data highly available
Jan 21, 2021Zeger-Jan van de Weg

Summary
This post introduces Praefect, a new component designed to provide high availability for Git data by acting as a proxy to Gitaly storage nodes. It details the evolution from eventual consistency (three copies, read-only access to secondaries) to strong consistency (all three copies always up to date, three-phase commit transactions via Git hooks). It also discusses the cost implications of replication and the upcoming features like read distribution and variable replication factor. Challenges and lessons learned regarding optional components and early production deployment are also highlighted.
More from the High Availability trail
- Consolidate your GitLab stack with Gitaly on Kubernetes
- GitLab backs 99.9% availability SLA with service credits
- Downtime happens, but GitLab Incident Management can help
- How we are closing the gap on replicating *everything* in GitLab Geo
- How we tested a feature that affected (almost) all parts of GitLab