GitHub最近悄悄地发布了DGit,全称为“分布式Git”。这是一种基于Git创建的分布式存储系统,其目标是改进使用GitHub时的可靠性、可用性以及性能。
DGit是一个应用层面的协议,它利用了Git分布式的特性,将每个仓库在三台不同的、独立选择的服务器上保留三个备份。按GitHub所说,这个简单的架构在可靠性、可用性和性能方面带来了许多直接的好处。
考虑到托管某个仓库的三台服务器是互相独立的,那么他们同时变得不可用的可能性非常低。
用户的请求可在这三台服务器之间进行负载均衡处理,由于这些请求大部分是读请求,因此可以立即响应,而无需在这三台服务器之间进行同步,这将带来直接的、接近于3倍的性能提升。
多个仓库之间出现“命运共享”(fate sharing)的情况大大减少了。命运共享这种情况会造成一个或多个仓库的性能下降,其原由是这些仓库与另其他非常流行的或者过于庞大的仓库共享了相同的服务器。在DGit的实现中,由于这些仓库在独立的服务器中进行分发,因此这种情况同时发生在三台服务器上的可能性少之又少。这也使某个请求可以在负载相对较小的服务器中进行处理。
分发服务器之间无需保持一个很近的距离,他们可以分布在不同的可用区域或是数据中心之间。这种方式显然能够改进可用性,并且对于在地理位置上更接近的用户也能够带来性能上的改进。
DGit使GitHub能够废除之前所使用的基于备份的模式(由于DGit的发布过程还在进行中
原文链接http://www.12-23.com/a/zhangzishi/ITdanakecheng/2016/0412/8023.html
时间: 2024-10-10 13:19:51