Sonata

GitHub перенесла почти все репозитории в Azure и меняет кворум записи

image source

GitHub перенесла 99,99999 % репозиториев в Azure, где они хранятся параллельно с её дата-центрами; оставшиеся, самые нагруженные, упираются в задержку 25 мс на цикл обмена данными.

Первая копия появилась в Azure Central US в августе 2025 года. Сейчас у большинства репозиториев две из пяти реплик в Azure, на платформу приходится около половины трафика Git.

Узкое место — запись: Spokes нужно большинство реплик, кворум ждёт все исправные до тайм-аута, а репозиторий блокируется целиком. Реплика в Azure в ~1600 км добавляет ~25 мс на цикл, и у нагруженных репозиториев растёт очередь push.

Первое решение — per-reference serialization: кворум действует на уровне ветки или тега, а блокировка нужна только при записи в одну ссылку. По внутренним тестам, пропускная способность при записи в разные ссылки растёт в 3–4 раза.

Второе — virtual write replica: объектное хранилище входит в кворум и пишет в Azure Blob Storage, но чтение не обслуживает. Клиент получает подтверждение после надёжного сохранения; записи в независимые ссылки идут одним сетевым запросом.

Виртуальные реплики чтения наполняют кеш из Azure Blob Storage и работают вне кворума, их число не ограничено. Подробности финальной архитектуры GitHub обещает на GitHub Universe.

источник

Загрузка страницы