Github —— 你的单点故障 已翻译 100%

oschina 投递于 2013/02/12 07:54 (共 5 段, 翻译完成于 02-17)
阅读 2465
收藏 13
0
加载中

用“我爱你”不足以表达我对Gitbub的喜欢,我不止在当展现代码的复查过程时向别人推荐它。在Mozilla,web开发团队用Github作为我们的代码检查工具,因此行注释和代码推送需要与我们的代码检查完美的结合到一块。Gitbub可以使一个大的代码贡献团队的程序员虽然不在同一个地方工作,但仍然可以将代码结合到一块。

然而,最近Github对于它的性能遇到一些问题。谢天谢地,这些问题中的大多数是无关痛痒的。但问题却暴露了用Github来检查开发过程的一个严重的潜在的缺点。

Github 是一个单点故障.

骚年614
翻译于 2013/02/16 17:59
3

Github和Git是如何共同工作的

Git允许每个开发人员独立工作,并保留一份repository的拷贝。所以,除了开发人员的数据没有共享给其他人之外,不会带来任何的数据丢失的风险。这有别于集中版本控制的系统,例如subversion。

除了在项目提交的时候会提供标准的集中repository,Github其他情况下都没有改变这个模式。每一个fork实际就是每一个开发人员自己所拥有的独立的repository,而本地的repository又是另外一个拷贝。开发人员提交代码,同时Github的pull request实际上就是尝试把其中一组commit代码合并到另外一组;这样就可以保证开发人员上游的共享他们工作。

enixyu
翻译于 2013/02/17 15:10
2

对于开发人员和公司的潜在问题

从设计来看,每一个开发人员都保留一份完整的repository的拷贝。这样像使用Github这样的服务的公司,出现数据丢失的风险非常的低。但是,当Github被多个公司的开发流程中使用时,问题就会出现。

例如,公司当中某些开发人员在本地完成了一些代码,然后想提交代码并发布到Github,但是他们并没有托管这些代码的基础设施的控制权。如果他们需要发布,但是Github却宕机,那他们就没办法发布代码。

Github同时还共享public和private repositories的基础设施,从而导致付费用户会受到免费用户宕机的影响。这就意味着,Github实际上是,向没有对外界公开代码的公司和开发人员收费,但提供没有任何保证正常运行的服务水平协议(SLA)。

Github提供企业服务选择,允许公司在自有的服务器上管理自己的Github。但这个选择并不适用于所有的机构,只适合于有充分IT预算的公司。Github没有提供任何类似于著名的服务水平协议的套餐。

enixyu
翻译于 2013/02/17 15:33
2

解决办法是?

很不幸,对于这个情况,我也没有任何的解决办法。Github是同类软件中的佼佼者,并且比其他类似软件都优秀,例如Google code。The Object Oriented PHP Masterclass这篇文章很好的解释了如何通过Github工具帮助学生们修正代码中的错误。我抱着怀疑的态度,我们开发组将来会使用其他软件替代Github。

我很乐意看到开源社区里面会出现替代Github的产品,虽然Github的动力来自于金钱,而且这会带来更大的动力去创建更好的产品。

enixyu
翻译于 2013/02/17 15:40
1

我相信,Github将会继续成长,而且稳定性的问题会逐渐解决。但是我还是对单点故障感到疑虑。

更新:Gitlab可能是Github的替换产品。Gitlab是开源产品,以MIT协议发布,并托管于Github。值得注意的是,Gitlab是使用Ruby on Rails开发的;你需要了解Ruby on Rails的安全性之后,才去使用Giblab

enixyu
翻译于 2013/02/17 15:44
1
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
加载中

评论(0)

返回顶部
顶部