Как работает сайт github (архитектура)? - PullRequest
26 голосов
/ 04 февраля 2011

Github - действительно удивительный сервис.Я стремлюсь понять, на что похожа их архитектура и как они сочетаются между собой;как они хранят репозитории, как они получают доступ к этим репозиториям, чтобы показать содержимое файлов, как они обрабатывают отображение различий и т. д. Может ли кто-нибудь дать обзор технологий и методов, которые они используют, чтобы я мог изучить их, чтобы расширить свои знания и, в свою очередь, навыки

Ответы [ 2 ]

19 голосов
/ 12 ноября 2016

Ядром Github является программное обеспечение с открытым исходным кодом git, которое является распределенным программным обеспечением для контроля версий и управления исходным кодом.Github добавляет множество функций к функциональности git, включая отслеживание проблем, вики, управление доступом и т. Д.

Однако Github является проприетарным программным обеспечением, и многие его внутренние компоненты остаются неизвестными для широкой публики.

Чтобы выяснить, как сочетаются друг с другом части, я предлагаю следовать приведенным ниже рекомендациям:

  • Официальный технический блог Github , который охватывает широкий спектр темдизайн платформы.
    • особенно эта статья , обширный обзор, написанный GTOHB. * ​​1016 *
  • Проекты, которые поддерживают Github , официально курированныйсписок проектов с открытым исходным кодом, которые питают Github.Вот несколько основных моментов:
    • rails - веб-серверная часть
    • jekyll - движок блога позади Github Pages
    • asticsearch - поисковая система
    • hubot - чат-бот для автоматизации задач
    • ace - редактор кода на основе браузера
    • d3 - js lib для графиков и диаграмм
    • resque - фоновые работы
  • GitLab , альтернатива Github с открытым исходным кодом, которая предлагает практически те же функции.
    • Прочитайте исходный код GitLab, и вы узнаете, как GitLab (и Github) работает под капотом.
    • Обзор архитектуры GitLab .Эта статья определенно является хорошей отправной точкой.

Я украл схему компоновки системы из Обзор архитектуры Gitlab .Держу пари, что вы уже познакомились с тем, как работает gitlab на этой диаграмме.

(Конечно, между Github и GitLab есть много различий. Но проект с открытым исходным кодом всегда лучше для тех, кто хочет учиться,не так ли?)

GitLab system layout diagram

0 голосов
/ 10 ноября 2016

Они используют Git - бесплатную систему управления версиями с открытым исходным кодом, предназначенную для быстрой и эффективной обработки всего, от небольших до очень крупных проектов.см https://git -scm.com .

...