High Availability
Meet Praefect: The traffic manager making your Git data highly available

Meet Praefect: The traffic manager making your Git data highly available

1/21/2021 · Zeger-Jan van de Weg

What this post added

This post introduces Praefect, a new component designed to manage traffic to Gitaly storage nodes and enable Gitaly Clusters for high availability. It details the evolution from NFS to Gitaly, the challenges of scaling Git for high availability, and the design choices leading to Praefect. The post covers the initial implementation of eventual consistency with three data copies and the subsequent development of strong consistency using a three-phase commit protocol integrated with Git hooks. It also discusses cost considerations, the introduction of read distribution, and the challenges and lessons learned during the development and rollout of Praefect, including the decision to make it a required component.

Read the original post ↗