GitHub recently quietly released the DGit, all called "Distributed git." This is a git-created distributed storage System with the goal of improving reliability, availability, and performance when using GitHub.
DGit is an application-level protocol that leverages GIT's distributed features to keep three backups on three different, independently selected servers for each warehouse. As GitHub says, this simple architecture brings many direct benefits to reliability, availability, and performance.
Given that the three servers hosting a warehouse are independent of each other, the likelihood that they become unavailable at the same time is very low.
User requests can be load-balanced between the three servers, and because these requests are mostly read requests, they can respond immediately without synchronizing between the three servers, which leads to a direct, nearly 3 times-fold performance boost.
The situation of "shared destiny" (fate sharing) between multiple warehouses has been greatly reduced. Fate sharing this situation can result in performance degradation for one or more warehouses, which are shared by the same servers as other very popular or too large warehouses. In the implementation of DGit, because these warehouses are distributed on separate servers, this situation is less likely to occur on three servers at the same time. This also enables a request to be processed in a server with a relatively small load.
There is no need to keep a close distance between the distributors, they can be distributed across different availability zones or between data centers. This approach clearly improves usability and provides performance improvements for users who are geographically closer.
DGit enables GitHub to revoke previously used backup-based patterns (as DGit's release process is still in progress
Original link http://www.12-23.com/a/zhangzishi/ITdanakecheng/2016/0412/8023.html
GitHub's DGit improves platform reliability, performance, and availability