大厂Data+Agent 秘籍:腾讯/阿里/字节解析如何提升数据分析智能。 了解详情
写点什么

谷歌启动容错 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:002943
用户头像

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

关注

评论

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

一文搞懂MySQL体系架构!!

冰河

MySQL 数据库 程序员 系统架构 数据存储

你看起来很美味?独家揭露视频推荐系统AI秘方

脑极体

混战的低代码江湖,如何区分「李逵」和「李鬼」?

ToB行业头条

MOOM集团模式

飞亚科技

低代码之所以能火,离不开这些原因!

优秀

低代码

cat监控http请求-CatFilter

Java个体户

监控 cat

Scrum Patterns:小团队(译)

Bruce Talk

敏捷开发 译文 Agile Scrum Patterns

感谢Github帮我斩获了8家大厂Offer

Java架构师迁哥

如何完成日千万级别以上的订单对账(一)

谙忆

从程序员角度看湖南电信网络全崩,如何防范服务器被攻击以及解决方案

北游学Java

Java 网络安全 网络 服务器

阿里P9纯手打的JDK文档太吊了,微软都开始学习了!

Java架构师迁哥

不确定的海浪中,更需要数字化转型的定海神针

脑极体

Spark测试用例生成apache iceberg结果

聚变

大数据 iceberg

聪明人的训练(十三)

Changing Lin

4月日更

java基础集合之HashMap

false℃

干货 | Redis进阶笔记

ninetyhe

redis 缓存 原理分析

一个可递归遍历的Vue树型组件

空城机

JavaScript vue.js 大前端 4月日更

如何完成日千万级别以上的订单对账(二)

谙忆

活久见,58同城居然也有这么牛的Java内部教程

Java架构师迁哥

颜色值JavaScript换算(HSV、RGB、十六进制颜色码)

空城机

JavaScript 大前端 颜色值换算

Java编辑器

ベ布小禅

4月日更

缓存系统设计精要

比伯

Java 互联网 面试 程序人生 技术宅

大数据文件浏览器

聚变

重读《重构2》- 内联函数

顿晓

重构 4月日更

用吃解决生活问题

石云升

读书笔记 好好吃饭 28天写作 4月日更

完美的,从不空口说白话,140个案例带你深入理解微服务

Java架构师迁哥

魔晶面膜

飞亚科技

颠覆微服务认知:深入思考微服务的七个主流观点

xcbeyond

微服务 4月日更

《中寰卫星导航项目管理部负责人卜钢:智能网联行业的问题与前景》(采访提纲):

谙忆

微信被单删或拉黑?这两个免打扰检测方法你要知道。

彭宏豪95

微信 工具 社交 数据备份 4月日更

yyds!用飞桨玩明日方舟

百度大脑

百度 飞桨

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