github网站如何运作(架构)?

Phi*_*ham 28 architecture git diff github

Github是一项真正令人惊叹的服务.我很想知道他们的建筑是什么样的,以及他们如何将不同的部分组合在一起; 他们如何存储存储库,如何访问这些存储库以显示文件内容,如何处理显示差异等等.有人可以概述他们使用的技术和技术,因此我可以研究它们以扩展我的知识和反过来的技能?

Hua*_*Tao 24

Github的核心是开源软件git,它是一个分布式版本控制和源代码管理软件.Github在功能上添加了许多git功能,包括问题跟踪,维基,访问控制等.

然而,Github是专有软件,其中许多内部设备仍为公众所知.

为了找出碎片是如何组合在一起的,我建议遵循下面的线索:

  • Github的官方工程博客,涵盖了该平台设计的广泛主题.
  • 为Github提供支持的项目,Github是一个官方策划的开源项目列表,为Github提供支持.以下是一些亮点:
    • rails - web后端
    • jekyll - Github Pages背后的博客引擎
    • elasticsearch - 搜索引擎
    • hubot - 用于任务自动化的聊天机器人
    • 基于ace - browswer的代码编辑器
    • d3 - 用于图形和图表的js lib
    • resque - 背景工作
  • GitLab是Github的开源替代品,它提供了几乎相同的功能.
    • 阅读GitLab的源代码,你就会知道GitLab(以及Github)是如何工作的.
    • GitLab架构概述.这篇文章绝对是一个很好的切入点.

我从Gitlab Architecture Overview中窃取了系统布局图.打赌你已经了解gitlab如何从这个图表中工作.

(Github和GitLab之间确实存在很多差异.但对于想要学习的人来说,开源项目总是更好,不是吗?)

GitLab系统布局图