DGit使用Git的同步机制,将GitHub的代码库复制到多台服务器上,以便大大提高这个代码托管平台的可靠性,大大降低出现停运的几率。
GitHub刚发布了一项新的功能,它声称这项功能会让这个广泛使用的代码托管平台大大降低出现停运的几率。
分布式Git(DGit)使用Git协议的同步机制,将GitHub的代码库复制到三台服务器上。如果某一台服务器因故障或维护而无法正常运行,流量就可以重定向到另外两台服务器。
据GitHub声称,使用Git作为复制机制为许多公司提供了比仅仅镜像磁盘之间的数据块更高一点的灵活性。介绍这个新系统的博文声称:“副本就好比三个松散耦合的Git代码库,它们通过Git协议来保持同步,而不是装满代码库的一模一样的磁盘镜像。”需要的话,读取操作可以转向到某个特定的副本;如果一台文件服务器不得不停止运行,可以构建某个特定代码库的新副本。
使用Git的另一个优点是,GitHub熟悉这种协议,该协议已针对系统之间的同步经过了高度优化。GitHub说:“既然已经有一辆一级方程式赛车可以开,何必重新发明轮子呢?”使用Git还意味着,故障切换过程所需的人工干预比较少,负责故障切换的服务器不是仅仅处于闲置状态,它们而是积极地用于满足读取操作、接收写入的数据。
有了GitHub新的基于Git的同步架构,就更容易为代码库的多个冗余副本确保可用性。所有副本都处于活动状态;需要时,能够提供只读文件,接受写入的数据。
DGit的部署推广是个逐步的过程。GitHub先移植了自己的代码库,进行了测试,确保它们仍能正常运行,然后开始迁移第三方代码库和公共代码库。接下来是迁移最忙碌、流量最大的代码库,“我们希望让DGit支持尽可能大的流量和尽可能多的不同使用模式。”目前,所有代码库当中58%已迁移完毕。GitHub说,其余代码库定于“尽快迁移”,因为改用DGit是“一个关键的基础,能够有助于更多以后的创新。”
DGit的最大优点在于缩短停运时间。GitHub哪怕停运一小段时间――无论是由于灾难还是攻击,也会让许多项目和企业组织暂时陷入瘫痪。
第三方厂商使用两种方法来应对GitHub停运问题:一种是使用配套产品,比如Anam.io的代码库备份服务,另一种是使用竞争性产品,比如GitLab开源替代方案。但是对许多企业组织来说,求助于GitHub及其日益野心勃勃的企业级解决方案来处理繁重任务显然来得更省事。
来源:云头条
聚焦云计算,扫描二维码,关注HostUCan云计算