As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center提供指导。




9年前关闭。




那里有许多SCM系统。有的是开放式的,有的是封闭式的,有的是免费的,有的相当昂贵。对于拥有多个站点(某些站点背后的链接非常慢)的3000多个开发人员组织,您将使用哪一个(请仅选择一个)?解释为什么选择了一个。 (给出一些原因,而不仅仅是“因为”。)

最佳答案

  • 对于如此庞大的安装,至少需要满足以下主要要求:数据安全性,成熟度,健壮性,可伸缩性价格(每个许可证与开放源代码始终会产生巨大差异,而与价格无关每个席位),易于管理
  • 我认为颠覆就可以了。
  • 支持(来自collabnetclearvisionwandisco等)。您可以问他们颠覆是否能够处理您的任务。
  • subversion具有非常成熟的数据库后端-FSFS。它绝对坚如磐石,从1.5开始,它可以处理很多修订而不会降低性能。修订版本写在文件系统中。因此,Subversion存储库的可靠性取决于文件系统,操作系统和存储系统的质量。
  • 这就是为什么我建议使用ZFS 作为文件系统的Solaris 10的。 ZFS对于生产系统确实具有出色的文件系统功能。但最重要的是,它提供了数据完整性校验和。因此,使用Subversion存储库中的大量源代码,您将不必担心由于无声的硬盘位错误或 Controller 或电缆位错误而导致存储库损坏。到目前为止,ZFS已经足够成熟,可以安全地用作UFS或任何替代品。
  • 我不了解硬件要求。也许Collabnet可以给您建议。
  • 但是第2代thumper是一个很好的开始(如果事实证明它太慢,则可以用作NFS存储或备份存储,无论如何肯定可以利用它),应该是第二代WebDAV-Proxy,即 Sun Fire X4540服务器:您可以拥有(都在一个漂亮的4U机架服务器中,价格为80.000 $(标价-这可能面议)):48 TB磁盘空间!,8个AMD Opteron CPU内核,64 GB RAM,预安装Solaris 10 Sun提供了3年的白金软件和硬件支持。因此,该服务器的纯硬件和支持价格将是3000个开发人员每席位25美元。
  • 为确保真正的数据安全,您可以按以下方式对48个硬盘进行分区:3个用于操作系统的驱动器(3路Raid-1镜像),3个热备用(未使用)(如果是其他驱动器发生故障),则为Subversion存储库提供了14个3路Raid 1镜像(14 * 3 = 42个驱动器)的zfs池。如果您只想将14 TB ZFS Raid空间填充80%,那么这大约是该存储库实际可用磁盘空间的10 TB,即每个开发人员平均3 GB。
  • 使用以下配置:在具有10 TiB 3-way Raid-1 ZFS冗余和校验和磁盘空间的Sun x4540 thumper上的Subversion 1.6应该是一个非常严肃的开始。
  • 如果计算能力不足以容纳3000多名开发人员,那么您可以购买功能更强大的服务器,它可以使用节拍器的磁盘空间。如果磁盘性能太慢,则可以将大量的快速scsi驱动器连接到计算服务器,然后使用节流器作为备份解决方案。
  • 当然,从collabnet获得有关此Subversion服务器的计划和部署的咨询服务以及从sun获得对硬件和solaris操作系统的白金支持都是很有意义的。
  • 编辑(对第1条评论的答案):对于分布式团队,可能存在主从配置:M3000。每个本地团队都有一个从属服务器,用于复制存储库。开发人员从该从站获得所有 checkout 。 checkin 透明地从从属转发到主控。这样,主机始终是最新的。绝大多数流量都是结帐:每个开发人员都会获得任何开发人员提交的所有 checkin 。因此,结帐流量应为3000个开发人员流量的99.97%。如果您的本地团队有50个开发人员,那么结帐流量将减少98%。 checkin 应该不是问题:任何人都可以多快键入新代码?显然,对于一个小型团队来说,您不会购买任何节拍器。您只需要一个具有足够硬盘驱动器空间的盒子(即,如果您打算将孔存储库容纳10TB)。可以将其作为raid5配置,因为数据丢失并不是公司的终结。您也不需要Solaris。如果当地人会更喜欢Linux,则可以在上面安装linux。再说一次:问问像collabnet这样的顾问,这是否真的是一个合理的概念。拥有如此多的席位,一次咨询费用不应该成为问题。他们可以设置整个过程。 Sun提供了预先安装了solaris的包装盒。你有太阳的支持。因此,您将不需要现场安装solaris专家,因为在接下来的几年中该配置不会更改。此配置意味着
  • 团队到总部的慢线不会被多余的结帐数据和
  • 阻塞
  • 本地团队的成员可以快速获取结帐
  • 它将大大减少the击器的负载-这意味着通过该配置,您完全不必担心the击器是否能够处理
  • 降低带宽成本
  • Edit(在M3000发行之后):更加极端的硬件配置,甚至更疯狂的数据完整性都将是J4500服务器和Collabnet Subversion binaries数组的组合:
  • J4500存储阵列实际上是一个重击器,但是没有CPU功能和外部存储接口(interface),因此无法将其连接到服务器。
  • M3000服务器是Sparc64服务器,价格中等,具有高端RAS功能。大多数数据路径甚至cpu寄存器都经过校验和,等等。RAM不仅受ECC保护,而且具有与IBM Chipkill功能相同的功能:突袭内存:不仅检测到并纠正了单个位错误,而且整个内存芯片可能会失败完全没有数据丢失的情况-类似于RAID阵列中的硬盘故障。
  • 由于ZFS文件系统会在数据来自CPU之前或之后对数据进行基于CPU的错误校验和,因此J4500的存储 Controller 和电缆的质量并不重要。重要的是M3000 CPU,内存,内存 Controller 等的位错误预防和检测功能。
  • 不幸的是,sun用于提高质量的高质量记忆棒的价格甚至更高,以至于四核(八线程)4GB Ram M3000 + 48 TB J4500的组合大致相当于to击器,但是如果您想要将服务器内存从4GB增加到8、16或32 GB以用于内存中缓存,价格会急剧上涨。但是,如果使用分布式团队的主从配置,那么4GB的配置甚至就足够了。
  • 如果管理人员非常重视此3000开发人员存储库的源代码和数据完整性,那么这种硬件组合值得考虑。然后,有必要添加两个或多个节流器作为循环备份解决方案(不是必要的,以防止硬件故障,但可以防止管理员的错误或在发生物理灾难时进行异地备份)。
  • 因为这将是Sparc而不是x86解决方案,所以该平台有免费的经过认证的O'Reilly
  • 颠覆的优点之一也是出色的文档:一本来自Version Control with Subversion(PDF)的优秀书籍,也可以免费获得HTML或ojit_a版本。
  • 概括起来:结合使用Subversion 1.6 + Solaris 10 + 3-way-raid-1冗余和校验和的ZFS + thumper +本地团队的主从服务器复制+ sun支持+ collabnet / clearvision / orcaware / Karl Vogel咨询+适用于所有开发人员的优秀且免费的Subversion手册,您应该有一个可以提供以下解决方案的解决方案
  • 极高的数据安全性(对于这么多的源代码非常重要-您不想破坏您的存储库,确实会发生位错误,硬盘驱动器确实会发生故障!)您有一个主数据存储库,可真正保存所有版本可靠:源代码控制系统的主要功能。
  • 成熟度-Subversion已被许多公司和开源项目使用。
  • 可伸缩性-使用主从复制,您应该在主服务器上没有负载问题: checkin 的负载可以忽略不计。结帐由从站处理。
  • 对于慢速连接背后的本地团队,没有高延迟(由于复制)
  • 价格低廉: Subversion是免费的(每个席位免费),出色的免费文档,在三年期间内,每个席位每年仅8 $的主服务器硬件和支持成本,用于奴隶的廉价linux盒,一个来自collabnet等的时间咨询。由于主从复制,带宽成本低。
  • 易于管理:基本上不对主服务器进行任何管理:Subversion顾问可以部署所有内容。 Sun员工将更换有故障的硬盘驱动器等。从站可以是Linux机器,也可以是本地站点上可用的任何管理技能。出色的Subversion文档。
  • 关于version-control - 您要为1000多家开发人员组织使用哪个版本控制系统?为什么? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/65458/

    10-13 08:46