单台机器能超过10万个项目托管?好奇就来了解这个Git仓库的硬件平台
创始人
2025-01-09 07:11:50
0

如果你想要托管项目,可以考虑 GitLab.com ,在这个网站上我们运行了一个单实例的 GitLab。目前有将近 20000 个用户在使用这个服务。单台机器上有超过 10 万个项目托管之上。

单一服务器

之前 GitLab.com 是运行在亚马逊的 AWS 平台上,使用的是 AWS 上最高的配置实例。但是由于用户的不断增长,AWS 单实例已经无法满足我们的需要,特别是 CPU 和存储方面的限制。我们必须寻找一种替代解决方案。

10万个仓库需要占用好多个 TB 的存储,因此存储能力至关重要。而因为我们使用的是 Git,因此存储必须是一个单一的文件系统,而不能是类似亚马逊提供的 S3 对象存储服务。我们希望能够轻松扩展存储。此外大量的人提交和下载代码对系统的 CPU 要求也非常高,因此拥有更多的 CPU 核有助于在高负载的情况下提升响应速度。

看来最具性价比的方案是使用自己的服务器了。好在 GitLab 可以很方便的运行之上。

htop on GitLab server

And 因此,我们目前采购了两台独立服务器用来运行 GitLab.com,其中一台是活动的主服务器,另外一台备用。服务器配置如下:

  • 服务器型号: HP DL180 G6 (2009 生产)

  • 处理器: 2x X5690 (共 24 核)

  • 32GB RAM

  • 12x 2TB HDDs, (其中两个用于 root 卷,使用 RAID 1,另外 10 个磁盘使用 RAID 10 ext4 文件系统)

我们实际上只用了其中的 16 核。

故障以及故障转移

从亚马逊上迁移出来意味着我们不能再利用 AWS 平台的一些特性,因此一旦服务器宕机我们需要一些故障转移的措施。

我们需要使用 DRBD 来创建主从服务器架构,同一时间只有一个应用服务器是活动的,一旦出问题就会让 DRBD 切换到另外一台服务器。

我们的 DRBD 工具可通过 subscribers 获取。

未来的扩展性

GitLab.com 在当前的硬件平台上运行良好,但其增长越来越快。如果对现有的硬件进行扩展,其成本是很高的,而且有些部分是很难的。

将来 GitLab.com 将再次托管到亚马逊的 AWS 平台上,这可以让我们很容易的实现水平的扩展。此外亚马逊刚刚宣布了超过 10TB 的 ESB 卷,这将让我们的移植变得容易。

英文原文:The hardware that powers 100,000 git repositories

译文出自:http://www.oschina.net/translate/the-hardware-that-powers-100k-git-repos

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...