写点什么

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

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

关注

评论

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

什么是性能测试,一篇文章告诉你!

霍格沃兹测试开发学社

通过阶乘获取一个一维PHP数组中全部的组合情况

左诗右码

查思专利,为全球科研人员修一条信息“高铁”

脑极体

AI

大模型应用Step-By-Step

京东科技开发者

【程序大侠传】异步架构应用回调数据接收接口偶发NPE

Disaster

技术干货丨如何加速工业数字孪生应用落地?

Altair RapidMiner

人工智能 数据分析 数字孪生 altair

从人工到自动化到AIOps再到ChatOps:大模型在运维领域的应用

京东科技开发者

PikiwiDB(Pika) 3.5 最佳实践

apache/dubbo-go

redis Pika

使用 Amazon Bedrock Converse API 简化大语言模型交互

亚马逊云科技 (Amazon Web Services)

API 生成式人工智能

认证总结 北京业余无线电台A类

万里无云万里天

通信 无线电

经验整理 Datawhale-23期数据挖掘-心跳信号分类预测

万里无云万里天

人工智能 数据挖掘

Web3 游戏周报(6.23 - 6.29)

Footprint Analytics

链游

【建议收藏】Go语言关键知识点总结

不在线第一只蜗牛

c++ Go 算法 开发语言

1688商品详情API返回值深度研究:阿里巴巴中国站数据驱动的客户服务优化

技术冰糖葫芦

API Explorer API 安全 API 文档

通义灵码 Visual Studio 下载安装指南(附安装包)

阿里云云效

阿里云 云原生 通义灵码

龙华区工业软件赋能制造业创新发展思享会成功举办!

最新动态

从零开始学Spring Boot系列-集成Spring Security实现用户认证与授权

快乐非自愿限量之名

spring Spring Boot 后端

Character AI 推出实时语音通话功能;AirPods 将配备红外摄像头模组丨 RTE 开发者日报

声网

Confluence又一重磅软件:Confluence白板,附5款好用的替代软件推荐!

彭宏豪95

效率工具 职场 在线白板 Confluence 办公软件

六月的魔力:揭秘2024年加密市场与Reflection的创新与收益

BlockChain先知

办公神器小浣熊:有你我怎能不摸鱼

知识浅谈

AI AIGC 办公小浣熊

如何在 Spring Boot 中开发一个操作日志系统

Swift社区

Java’ 企业号 6 月 PK 榜

探秘数据库中的并行计算技术应用

EquatorCoco

MySQL 数据库 并行计算

三七互娱彭美:广游联运模式下,部分游戏付费量提升达1400%

最新动态

轻松实现商品多属性组合:深入理解笛卡尔乘积的 PHP 实现方法

左诗右码

通义灵码 Visual Studio 下载安装指南(附安装包)

阿里巴巴云原生

阿里云 云原生 通义灵码

不只是前端,后端、产品和测试也需要了解的浏览器知识

京东科技开发者

应用交付与负载均衡:深入解析网络架构中的关键技术

通明湖

负载均衡 应用交付

《神经网络设计》PDF

程序员李木子

VSPD9.0基础 建立一对互联的虚拟串口,进行串口通信的测试

万里无云万里天

虚拟化 串口通信 VSPD

性能测试介绍

测吧(北京)科技有限公司

测试

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