GitHub опубликовал немного подробностей о устройстве своего Distributed git (Spokes). Статья фокусируется на доступности сервиса и средствах восстановления после инцидентов.
http://githubengineering.com/building-resilience-in-spokes/
#github #highavailability #ha #git #dgit #spokes
http://githubengineering.com/building-resilience-in-spokes/
#github #highavailability #ha #git #dgit #spokes
GitHub Engineering
Building resilience in Spokes
Spokes is the replication system for the file servers where we store over 38 million Git repositories and over 36 million gists. It keeps at least three copies of every repository and every gist so that we can provide durable, highly available access to content…
GitHub начал публиковать заметки про свой балансировщик нагрузки. В будущем обещают опубликовать и часть исходного кода.
http://githubengineering.com/introducing-glb/
#github #loadbalancer #lb #ha #hl #highavailability
http://githubengineering.com/introducing-glb/
#github #loadbalancer #lb #ha #hl #highavailability
#github использует классический #mysql master-slave кластер в своих сервисах, как, наверное, и многие из наших читателей. Самое интересное в таких инсталляциях - файловер.
И у гитхаба для этого есть решение - опенсорсный, и, похоже, весьма интеллектуальный инструмент orchestrator.
http://githubengineering.com/orchestrator-github/
И у гитхаба для этого есть решение - опенсорсный, и, похоже, весьма интеллектуальный инструмент orchestrator.
http://githubengineering.com/orchestrator-github/
GitHub Engineering
Orchestrator at GitHub
GitHub uses MySQL to store its metadata: Issues, Pull Requests, comments, organizations, notifications and so forth. While git repository data does not need MySQL to exist and persist, GitHub’s service does. Authentication, API, and the website itself all…
Сказ о том, как GitHub заменил Redis на свой MySQL. Описаны как причины, так и последствия миграции.
http://githubengineering.com/moving-persistent-data-out-of-redis/
#github #redis #mysql
http://githubengineering.com/moving-persistent-data-out-of-redis/
#github #redis #mysql
GitHub Engineering
Moving persistent data out of Redis
Historically, we have used Redis in two ways at GitHub:
GitHub поменял свои условия пользования сервисов (Terms of Service).
Некоторые люди даже удалили свои проекты с GitHub, так как посчитали что новые условия не совместимы с GPL и некоторыми другими свободными лицензиями. При этом есть и альтернативный анализ (более рациональный) из которого следует что в общем ничего не изменилось, просто GitHub себя обезопасил от судебных приследований со стороны неадекватных пользователей.
Именно на такой анализ я и хотел бы дать ссылку: https://www.earth.li/~noodles/blog/2017/03/github-tos-change.html
#github #tos #licenses
Некоторые люди даже удалили свои проекты с GitHub, так как посчитали что новые условия не совместимы с GPL и некоторыми другими свободными лицензиями. При этом есть и альтернативный анализ (более рациональный) из которого следует что в общем ничего не изменилось, просто GitHub себя обезопасил от судебных приследований со стороны неадекватных пользователей.
Именно на такой анализ я и хотел бы дать ссылку: https://www.earth.li/~noodles/blog/2017/03/github-tos-change.html
#github #tos #licenses
www.earth.li
Rational thoughts on the GitHub ToS change
I woke this morning to Thorsten claiming the new GitHub Terms of Service could require the removal of Free software projects from it. This was followed by joeyh removing everything from github. I hadn’t actually been paying attention, so I went looking for…
Статья о том, как GitHub борется с отстающими репликами MySQL. Для решения этой проблемы они создали распределённый масштабируемый сервис, throttle'ящий запросы к базе. Подробнее о подходе читайте в статье: https://githubengineering.com/mitigating-replication-lag-and-reducing-read-load-with-freno/
#github #mysql #throttling
#github #mysql #throttling
GitHub Engineering
Mitigating replication lag and reducing read load with freno
At GitHub, we use MySQL as the main database technology backing our services. We run classic MySQL master-replica setups, where writes go to the master, and replicas replay master’s changes asynchronously. To be able to serve our traffic we read data from…
GitHub опубликовал чуть более подробную историю разработки их распределенной версии git'а. В целом в их подходе нет ничего революционного, просто удачно скомбинированные стандартные подходы.
Подробности: https://githubengineering.com/stretching-spokes/
#github #spokes #dgit #git #architecture #infrastructure
Подробности: https://githubengineering.com/stretching-spokes/
#github #spokes #dgit #git #architecture #infrastructure
GitHub Engineering
Stretching Spokes
GitHub’s Spokes system stores multiple distributed copies of Git repositories. This article discusses how we got Spokes replication to span widely separated datacenters.
О том как GitHub строит свои отказоустойчивые кластера MySQL рассказывают в своем последнем блог посте: https://githubengineering.com/mysql-high-availability-at-github/
#github #mysql #ha
#github #mysql #ha
GitHub опубликовал postmortem про недавний (21 октября) инцидент из-за которогой pull request'ы и issues были фактически недоступны более 24-х часов. Очень поучительная история про консесус, mysql и репликацию.
Ссылка: https://blog.github.com/2018-10-30-oct21-post-incident-analysis/
#github #postmortem
Ссылка: https://blog.github.com/2018-10-30-oct21-post-incident-analysis/
#github #postmortem
The GitHub Blog
October 21 post-incident analysis
In-depth analysis of the incident that impacted GitHub services on October 21 and 22.