写点什么

谷歌启动容错 Git 管理系统项目:Git Ketch

  • 2016-02-17
  • 本文字数:954 字

    阅读完需:约 3 分钟

尽管 Git Ketch 项目开发才刚刚开始,谷歌公司已经对外宣布了他们的第一个Git 项目——Git Ketch,一个多主机Git 管理系统,能够通过访问多个Git 服务器来复制信息,以确保复制信息的复原性和可扩展性。所做的这些改变都是基于原有用Java 搭建的名为JGit 的Git 服务器基础之上的,虽然这里面的其它Git 服务器可能是多主机群集的一部分。

最初设计Git 的目的是将Git 打造成一个分布式源代码管理库系统,但是大多数组织都采用了一个集中式的方式:采用一个带有“黄金副本”代码的主库,所有开发者会在这个主库上做修改,然后以最终版本作为更新基础;尽管所有改动能从开发者的私库里直接调取,但很少有这么做的。

只不过这种集中式方法也会导致单点故障。不过别担心,JGit 提供了部分解决方案,那就是通过它的分布式文件系统(DFS)的存储选项。此选项仅能解决部分问题,因为JGit 只定义了一组抽象类,而这组抽象类又定义了DFS 存储协议,但支持数据复制和创建抽象类实现的整体架构则是由用户自己设计的。这就意味着组织已投入相当大的资源——为实现JGit DFS,项目组暂时还不能将JGit DFS 大范围推广使用,谷歌是少有的几个掌握DFS 实现的组织之一。

Ketch 所遵循的策略有些与众不同,不仅仅可以定义一个能够复制 DFS 数据的 Git 服务器,Ketch 还可以假定现存的多个普通 Git 服务器可以互相之间数据和状态同步,因此被称为“多主机”。在任何一个制定的节点上,这些服务器都可以当作“主机”来使用,其余的服务器当作“从机”来利用。任何时候向任何一台服务器发送请求,这个“请求”都会被转发给“主机”,该“主机”将会向所有其他服务器发送推送请求,一旦绝大多数“从机”服务器已经确认推送请求成功,“主机”会向初始呼叫对象确认操作已成功。这一机制是基于 Raft 算法,此算法能够确保至少大多数服务器能够接收已经做了变更的请求;任何服务器上的数据丢失,都可以通过其它服务器同步过来。目前,只有 JGit 服务器可以充当“主机”,虽然在多主机集群里任何 Git 服务器实现的原子推送都可以充当一个参与服务器。

这些已经提出来的改变均可以在 JGit 内部 Gerrit 里看到,关于未来在工具上的改进细节及进展都可以从 JGit 的电子邮件分发列表里获得。

查看英文原文: Google Kick-Starts Git Ketch: A Fault-Tolerant Git Management System

2016-02-17 18:002609
用户头像

发布了 25 篇内容, 共 74324 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

想象力,科幻与其他「关于科幻 8/28」

道伟

28天写作

重学JS | 箭头函数为什么不能用做构造函数?

梁龙先森

面试 大前端 编程语言 28天写作

Java 程序经验小结:接口只用于定义类型

后台技术汇

28天写作

【CSS】文字特效(text-shadow)

德育处主任

CSS css3 html/css CSS小技巧 28天写作

CMS系统——登录功能

程序员的时光

程序员 七日更 28天写作

28天瞎写的第二百一九天:包辆三轮车上班的日子

树上

28天写作

从硅谷到小米,崔宝秋的25年开源人生

李忠良

28天写作

[6/28]产品业务数据分析的质量实践

L3C老司机

精选算法面试-数组III

李孟聊AI

面试 算法 数组 28天写作

读书笔记:《激荡三十年》下

lidaobing

28天写作 激荡三十年

【Mysql-InnoDB 系列】事务提交过程

程序员架构进阶

MySQL 架构 innodb 事务 28天写作

胆大无险,脚踏实地

.

28天写作

生产环境全链路压测建设历程 29:FAQ 之 评估方法论、改造、痛点

数列科技杨德华

28天写作

项目管理系列(3)-如何开好一个项目启动会

Ian哥

项目管理 28天写作

创业失败启示录|校园微生活之留学生面对面

阿萌

28天写作 创业失败启示录 青城

正则表达式匹配ini文件的section

老王同学

日语复习 Day02【~あっての】

IT蜗壳-Tango

程序员 七日更 日语语法

区块链介绍

v16629866266

区块链

JavaScript05 - JavaScript数据类型

Mr.Cactus

JavaScript

坚持写作靠什么?

石君

输入 输出 28天写作

像用户一样测试:别掉链子

QualityFocus

软件测试 用户体验 回归测试

低代码是在炒概念,炒得不错

Justin

低代码 28天写作

Soul 网关实践 02|选择器&规则介绍

哼干嘛

Java 探索与实践 Soul网关

早上听了一场关于财富的线上专题分享

熊斌

财富自由 28天写作

智能building之 园区

张老蔫

28天写作

五种IO模型

懒AI患者

io nio AIo bio IO多路复用

Soul 网关实践 03|http 请求接入网关

哼干嘛

Java 探索与实践 Soul网关

如何通过即构小程序组件实现直播带货功能?

ZEGO即构

小程序 直播带货

聚焦目标,团队工作不再一盘散沙(下)

一笑

管理 目标管理 复盘 28天写作

短视频+直播=最自然的表达方式?| 视频号 28 天 (09)

赵新龙

28天写作

【计算机内功修炼】六:10张图让你彻底理解回调函数

码农的荒岛求生

异步 同步 异步IO 回调函数 异步编程

谷歌启动容错Git管理系统项目:Git Ketch_Java_Abraham Marín Pérez_InfoQ精选文章