Post Thumbnail

Автор затрагивает интересную тему - сложно хостить большие Git-репозитории в больших масштабах.

Он разбирает эволюцию подходов к решению этой проблемы. От неудачных попыток распределить файловую систему и хранить объекты Git в распределенных key-value хранилищах до ставшего стандартом GitHub'овского решения Spokes с трехфазным коммитом, у которого со временем тоже выявились ограничения - слабая горизонтальная масштабируемость и высокая сложность эксплуатации.

В ответ Cursor представил собственную систему хранения Continuity, построенную на write-ahead логе в S3-совместимом объектном хранилище. В этой системе push подтверждается только после полной персистентности, все операции линеаризуются через атомарный CAS, реплики догоняют состояние по WAL, а репозитории на диске служат лишь "теплым кэшем".

Такой WAL-first подход дает полностью консистентную горизонтальную масштабируемость - до сотен реплик для больших монолитных реп

Похожее