github网站是如何工作的(架构)? [英] How does the github website work (architecture)?

查看:65
本文介绍了github网站是如何工作的(架构)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

解决方案

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

然而,Github 是专有软件,它的许多内部结构仍然不为公众所知.

为了了解各个部分是如何组合在一起的,我建议遵循以下线索:

  • Github is a truly amazing service. I'm keen to understand what their architecture is like and how they fit the different pieces together; how they store the repositories, how they access those repositories to show file contents, how they handle displaying diffs, etc. Could someone give an overview of the technologies and techniques they use, so I can study them to expand my knowledge and in turn skills?

    解决方案

    The core of Github is the open-source software git, which is a distributed version control and source code management software. Github adds many features onto git's functionality, including issue tracking, wiki, access control, etc.

    However, Github is proprietary software, and many of it's internals remain unknown to general public.

    In order to find out how pieces are fit together, I suggest following the leads below:

    • Github's official Engineering Blog, which covers a wide range of topics of the design of the platform.
      • especially this article, an extensive overview written by Github CTO.
    • Projects that power Github, an officially curated list of open-source projects that power Github. Here are a few highlights:
      • rails - web backend
      • jekyll - blog engine behind Github Pages
      • elasticsearch - search engine
      • hubot - a chat bot for task automation
      • ace - browswer based code editor
      • d3 - js lib for graphs and charts
      • resque - background works
    • GitLab, an open-source alternative to Github, which offers pretty much the same functionalities.
      • Read the source code of GitLab and you'll get to know how GitLab (and Github as well) works under the hood.
      • GitLab Architecture Overview. This article is definitely a good entry point.

    I stole a system layout diagram from Gitlab Architecture Overview. Bet you've already get a hang of how gitlab works from this diagram.

    (There surely are lots of difference between Github and GitLab. But an open-source project is always better for someone who wants to learn, isn't it?)

    这篇关于github网站是如何工作的(架构)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆