HeadlinesBriefing HeadlinesBriefing.com

Инфраструктура Git для масштаба агентов: переход в Azure

Hacker News •
×

За последний год, по мере экспоненциального роста Git-трафика, почти все Git-репозитории GitHub начали одновременно существовать в двух местах: в собственных дата-центрах GitHub и в Azure. Самые загруженные репозитории по-прежнему ограничены одним фактором: задержкой на круговой проход между регионами, составляющей 25 мс.

В предыдущей публикации GitHub изложил два принципа, лежащие в основе его архитектуры хранения следующего поколения: минимизация координации и разделение хранилища и вычислений. В этой статье рассматривается мост между старым и новым дизайном. Изменение способа, которым кворум упорядочивает записи, позволило перенести самые загруженные репозитории в Azure, и этот же шаг открывает путь для реплик, не хранящих собственного постоянного состояния.

Сроки переноса определил переход к агентным системам: быстро растущий трафик, жёсткий предел электроэнергии в дата-центрах GitHub и в окружающем регионе, а также физические ограничения цепочки поставок. Оставшихся мощностей хватило для безопасной миграции, но не для неспешной. Поскольку Git-операции относятся к сервисам Tier 0, от которых зависит почти всё на GitHub, данные нужно было перенести первыми, а архитектура развивалась уже после их прибытия. Первая копия репозитория попала в регион Central US в Azure в августе 2025 года. Сегодня у большинства репозиториев две из пяти реплик находятся в Azure, и Azure обслуживает около половины Git-трафика.

Оставшиеся 0,00001% репозиториев представляют более трудную задачу. В текущей архитектуре запись ожидает ответа от каждой работоспособной реплики, поэтому самая медленная реплика определяет и задержку, и пропускную способность. Реплика в целевом регионе Azure находится примерно в 1600 км, а каждая запись требует нескольких круговых проходов. Решение заключается в минимизации координации: требования Git к согласованности применяются к каждой ссылке по отдельности, а обновления разных ссылок обычно не зависят друг от друга, поэтому их не нужно упорядочивать.

Источник: Hacker News · Сводку подготовил HeadlinesBriefing