基于git托管平台的代码存储系统的设计与实现

来源 :华中科技大学 | 被引量 : 0次 | 上传用户:zengyuzhuo
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在大型互联网公司,软件开发越来越注重工程效率,大多数大型互联网公司尝试DevOps开发流程。DevOps是一种结合了过程、方法与系统思想的方法论。并促进从需求、开发、测试和发布多流程之间的协同,DevOps流程的开始和工程开发业务的基础就是代码管理,因此保证代码库存储的高可用性和安全性等存储问题的研究显得尤其重要。托管平台的代码存储集群采用分库的方式存储代码库,在应用层设计了路由选择模块,路由选择模块是为了进行代码操作的时候能够有效的将代码库的变更存储到指定的节点上。平台作为Git代码托管平台,所以Git客户端的反向代理分别采用了HTTP传输的OpenResty和SSH传输的基于Mina-sshd自定义Proxy;托管平台采用微服务架构,模块之间RPC接口的传输采用Dubbo,代码存储设计解决了客户端和浏览器使用场景如何对接路由选择模块的问题,使得调用各服务时也能进行路由选择。由于托管平台会触发代码编译,可持续集成等上下游服务,代码存储管理设计的每一个集群采用了一主两从的方式,一份代码,有三份备份,保证了代码的安全性,同时主从节点采用读写分离策略,保证了代码存储时候代码读写的可用性和高效性。当互联网开发团队需要支持万级别的研发团队的时候,公司代码累计会超过十万项目,同时日请求量会达到百万级别。基于Git版本控制的代码平台底层依赖于JGit,平台的代码评审和存储依赖于Gerrit,这样代码库大小早已超过了Gerrit官方支持的单机上限了,所以核心问题是研究该平台如何解决代码存储的问题,故存储方面的设计解决了这个痛点。
其他文献
目的 :探讨总体分析分离菌体蛋白的部分常用试剂对染料结合法和二辛可宁酸法蛋白质定量方法的总体干扰作用。方法 :配伍组方差分析法。结果 :含 EDTA和葡萄糖的分离试剂对二
休闲消费是伴随着社会转型过程中经济的发展、人均收入的提高及人们心理需求的转型而产生的,并逐渐成为时下居民消费模式的重要组成部分。区域经济的增长机制表明,消费水平的
近共晶的Al-Si-Cu-Mg合金具有铸造性能优良,比强度高,可热处理强化等特点,在工业生产中应用广泛。本文研究了稀土元素和热挤压变形对合金的组织和力学性能的影响。微量稀土Ce
封闭式基金“折价”现象是指封闭式基金的交易价格系统性偏离它们资产净值(NAV)。折价是国内外封闭式基金市场的普遍现象,并一直是理论和实务界关注的焦点问题,国外学术界有
等程律在中国的首创并非偶然,它集聚了中国科学史上诸多优异成果,反映出朱载堉严谨的治学态度、创新的思维方法和对中国传统科学的深刻理解。朱载堉所著《律学新说》、《律吕
虽然超前地质预报已经纳入现代隧道施工工序,但许多施工单位认为超前地质预报不仅预报结果准确性差,增加了隧道施工的成本和时间,对超前地质预报工作存在抵触心理。文中结合
目的评估乙肝病毒感染的肝癌患者临床特征及因素对手术治疗预后的影响。方法回顾性分析211例接受手术治疗的感染乙肝病毒的肝癌患者,用Cox比例风险回归模型进行单因素和多因素
针对奶牛乳房炎的防治日益困难,在采用复杂科学的非线性理论对传统科学简单化观念及奶牛乳房炎复杂性进行讨论的基础上,论述了重视复杂科学新理念,完善科学认识方法;以及在疾
灾后需求评估是一种在灾害发生后及时收集受影响民众的需求信息,将信息传递给外部援助者,为更好地开展救援和灾后重建工作提供数据支撑的评估活动。它可以在灾害发生后的不同