【专题推荐】AIGC或将会改变内容领域的生产方式,带来整个行业的变革? 了解详情
写点什么

Atlassian 的 Stash 数据中心为 Git 提供了高可用性及可伸缩性

  • 2015-04-19
  • 本文字数:2579 字

    阅读完需:约 8 分钟

Atlassian最近发布了Stash 数据中心,这是一个具有高可用性以及横向扩展能力的部署选择,用于本地源代码与Git 库管理解决方案 Stash 。这套系统能够在不产生停机时间的情况下直接添加新节点,以实现双主机方式(active/active)的集群以及即时的可伸缩性。

在 Stash 推出数据中心之前,JIRA 与 Confluence 的数据中心版本已经先行问世,数据中心版本服务是为企业级使用场景设计的,这些场景要求“高可用性,以及大规模使用情况下的良好性能”。这些服务提供了与单机版产品相同的终端用户特性,它们使用了非常类似的集群技术,以实现处理大量并发用户、实现应用程序弹性以及提高服务质量的优点。这些服务的许可方式是基于用户的数量,而不是服务器或CPU 的数量,这样就使得客户能够选择自定义的、灵活的基础设施,并且也易于估算成本。

Stash 服务器已经在“全球超过 1 万 3 千个组织中得到使用”,它包含了许多面向企业环境的特性,例如:

Stash 服务器已经为企业级的应用高可用性可伸缩性提供了详细的指南。而通过使用 Stash 数据中心集群,可以实现更高的能力。

InfoQ 有幸采访了 Atlassian 开发者工具部门的总经理 Eric Wittman ,谈及了 Atlassian 最新推出的数据中心服务。

InfoQ**:Stach服务器已经为一个单服务器上的数千个用户提供了横向扩展的能力,这些服务器已经用于各种小型与大型公司了。那么,在 Stash数据中心中进一步提升可伸缩性的主要动力是什么呢?**

Wittman:虽然你可以为大量的用户选择纵向扩展的方式,但纵向扩展受限于物理服务器的数量,而我们想避免这一点,为用户提供横向扩展的能力。一方面,我们的目的是让客户能够将扩展能力提高到 1 万个用户以上,而我们通过 Stash 数据中心提供更高的可伸缩性的另一个主要动力,是因为在各大组织不断推进它们的持续集成实践的情况下,在高峰期间,构建服务器对他们的 SCM 系统会产生极大的压力,新的数据中心将能够应对这种压力。

InfoQ**:在 Stash数据中心的文档中表示,它能够以近乎线性的方式横向扩展到至少 4个以上的节点,而由于服务价格是按照用户数量进行计算的,因此你鼓励客户“想要几个节点就加几个节点”。那么对于支持的用户数量是否存在上限呢?**

Wittman:我们对于 Stash 数据中心所支持的用户数量并没有设定上限。我们在测试中最多使用了 4 个节点,通过对它的可伸缩性进行衡量,我们就能得出一个集群能够处理的整体吞吐量。能够支持的用户数量不仅取决于节点的数量,也取决于来自于其它自动化系统的压力,例如持续集成。

InfoQ**:对 Git进行大规模化是一种很严峻的技术挑战。你是否能简单地提一下你们是如何实现这一点的,比例你们是否对 Git的默认行为进行了一些改变?**

Wittman:我们在多台机器上进行了横向扩展、添加了更多的 CPU 和内存,并且使用了本地磁盘缓存,这些都有助于缓解资源的占用,尤其是 Git 托管操作。此外,我们在集群节点上使用了额外的快速本地磁盘,这也为我们的 SCM 缓存带来了好处。除此这外,我们对 Git 本身并没有进行任何改变。

  • 在 Atlassian Summit 2014 大会上,Atlassian Stash 架构师 Stefan Saasen 进行了一场名为“大规模化 Git ”的演讲,对底层的 Git 概念、所面对的挑战和迁移进行了深入的探讨。

InfoQ**:Stash通常会与 Atlassian的其它工具共同使用,例如 JIRA和 Bamboo,这样可以更好地集成工作流。你们的客户当中是否有人仅仅单独使用 Stash**呢?

Wittman**:我们确实有些客户仅仅使用 Stash工具,并且从 Stash的细粒度权限控制中受益良多,但多数 Stash的客户不仅使用了 Stash中细粒度的代码访问控制能力,同时也与 JIRA和 Bamboo的工作流集成使用。**

InfoQ**:你的同事 Tim Pettersen 近期详细地说明了由 Stash与 Bitbucket所带来的“更好的 pull request 模型”,但要实现这个更复杂的算法,也需要额外的资源。你能否为我们总结一下为什么你们倾向于这种途径吗?**

Wittman:Stash 和 Bitbucket 中的 pull request 算法比起其它 Git 解决方案中的算法,具有两点主要的优势:

  1. 可以在 pull request 中显示出合并冲突,如果开发者的代码产生冲突,他们就可以共同讨论如何解决这个冲突。
  2. 审查者能够看到某个特性分支上的变更对 master 分支会产生怎样的影响,这样就能够对最终在产品中发布的代码有一个更好的认识,从而减少了最终会发布到客户手上的产品的缺陷数量。

InfoQ**:Atlassian已经在 Docker 上发布了 Stash ,目前还只用于评估的目的。这一系统是否也支持集群化的部署方式,你是否认为这一系统今后能够成为你们的产品部署选项中的一种?**

Wittman:Docker 部署方式目前还不支持集群化的部署,因为主要的目的是让开发者进行评估。我们将对使用 Docker 映像作为今后产品的一种部署选项进行评估,而这取决于 Docker 作为一个平台的成熟度,以及客户在这方面的需求。

Stash 3.8最近刚刚发布,进一步改善了一些操作的功能,引入了完全无头的(headless)上线过程,并且使用了JMX 性能计数器,可用于衡量“项目与库的数量、Git 的push 与pull 操作的数量,以及各种线程池方面的指标”。

Stash 数据中心的文档提供了更多的细节,包括与故障转移性能可伸缩性有关的章节以及一篇 FAQ 。Stash用户文档同样加入了更多细节内容,而开发者文档中则涵盖了通过插件或远程 REST API 对Stash 进行扩展的途径。在 Atlassian 支持门户中提供了常规的 Stash 支持资源,同样也提供了专门的企业服务与支持项目

查看英文原文: Atlassian’s Stash Data Center Offers High Availability and Scalability for Git

2015-04-19 07:451951
用户头像

发布了 428 篇内容, 共 166.7 次阅读, 收获喜欢 35 次。

关注

评论

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

知识分享|To B产品的帮助中心页面制作方法

Baklib

css学习笔记3

虾仁疙瘩汤

CSS css3 10月月更

Baklib产品知识库|为什么说客户体验非常重要?

Baklib

IoTDB 的架构、安装启动方法与数据模式 | 小白教程文档(二)

Apache IoTDB

数据库 IoTDB Apache IoTDB

C# 关于程序退出问题学习

IC00

C# 学习 程序员 上位机 10月月更

深入浅出Python——Python基础语法全解

何极光

Python 基础 10月月更

DevOps | 如何快速提升团队软件开发成熟度,快速提升研发效能?

laofo

DevOps 研发效能 CMMI 敏捷研发 绩效考核

2022-10-25:在一个 2 * 3 的板上(board)有 5 块砖瓦,用数字 1~5 来表示, 以及一块空缺用 0 来表示。一次 移动 定义为选择 0 与一个相邻的数字(上下左右)进行交换.

福大大架构师每日一题

算法 rust 福大大

威胁网络安全的主要因素

阿泽🧸

网络安全 10月月更

从幻想走向科学:人类操纵大脑的条条大路

脑极体

概述Spark主要特点

穿过生命散发芬芳

spark 10月月更

CSS学习笔记2

虾仁疙瘩汤

CSS css3 10月月更

【web 开发基础】PHP 快速入门(11)-PHP 运算符之运算符的优先级

迷彩

表达式 10月月更 web开发基础 PHP基础 运算符优先级

如何进行需求分析?

老张

软件工程 需求分析

Student Management System

David

#架构实战营 极客时间架构训练营

深入浅出Python——Python高级语法之函数

何极光

Python 函数 10月月更

Vue组件入门(十四)依赖注入

Augus

Vue 10月月更

2022年元宇宙应用场景发展趋势分析

易观分析

元宇宙

SAP | 选择屏幕

暮春零贰

SAP 10月月更 屏幕

同样是网络加速,企业为何愿意选择华为云CDN?

秃头也爱科技

华为云CDN为用户提供专业全面的加速服务

秃头也爱科技

【通知】OBCA考试收费调整公告

OceanBase 数据库

对比学习算法在转转的实践

转转技术团队

人工智能 推荐算法 对比学习

Spring Boot「14」MVC 与前端控制器模式

Samson

Java spring 学习笔记 spring-boot 10月月更

网络请求:Vue_Axios学习

Studying_swz

Vue 10月月更

限时免费领票|来云栖大会,看OceanBase 4.0最新进展

OceanBase 数据库

AAX增添新网关,满足全球用户需求

股市老人

Python在接口测试中的应用

向阳逐梦

学习方法 “程”风破浪的开发者 Python接口测试

数据共享:VueX学习

Studying_swz

Vue 10月月更

Commit之后发生了什么事情

我不吃六安茶

MySQL 事务

CSS基础1

虾仁疙瘩汤

CSS css3 10月月更

Atlassian的Stash数据中心为Git提供了高可用性及可伸缩性_安全_Steffen Opel_InfoQ精选文章