Cursor processa 300 pushes por segundo no git com continuity, arquitetura de storage baseada em s3

3 min
Cursor processa 300 pushes por segundo no git com continuity, arquitetura de storage baseada em s3

A Cursor desenvolveu o Continuity, arquitetura de armazenamento Git que usa um write-ahead log no S3 como fonte da verdade, alcançando mais de 300 pushes por segundo e escalabilidade linear com até 100 réplicas.

A Cursor desenvolveu o Continuity, arquitetura de armazenamento Git que usa um write-ahead log no Amazon S3 como fonte da verdade, alcançando mais de 300 pushes por segundo e escalabilidade linear de leitura com até 100 réplicas em testes sintéticos.

  • Continuity usa um WAL no S3 como fonte da verdade, em vez de coordenação entre réplicas, tratando NVMe local como cache quente.
  • A Cursor reporta até 120 pushes por segundo com S3 Standard e mais de 300 com S3 Express One Zone no monorepo everysphere.
  • Leituras condicionais no S3 levam menos de 10 milissegundos em média, e gossip em UDP propaga atualizações do WAL sem afetar a corretude.
  • Casey Lee, CTO da Liatrio e ex-AWS, ressaltou que os números de desempenho ainda não foram verificados de forma independente.
  • Apenas o primário executa compactação Git, com réplicas baixando os packs do S3, trocando banda por CPU.

O que é a arquitetura continuity e como ela escala git

Continuity é uma arquitetura de storage Git que transforma um WAL apoiado em S3 na fonte durável da verdade, tratando repositórios locais em NVMe como caches quentes.

O modelo tradicional, como a arquitetura Spokes do GitHub, depende de réplicas NVMe e three-phase commit, cujo custo de coordenação cresce com o número de réplicas.

Nós locais como cache e propagação via gossip

Vicent Martí, da Cursor, descreveu os repositórios NVMe locais como caches quentes, com rendezvous hashing e compare and swap atômico no S3.

Gossip em UDP propaga atualizações do WAL, e leituras condicionais no S3 levam menos de 10 ms em média.

# publicidade

Números de desempenho e trade-offs

Testes sintéticos no monorepo everysphere registraram até 120 pushes por segundo com S3 Standard e mais de 300 com S3 Express One Zone.

Números de desempenho do Continuity reportados pela Cursor
MétricaS3 StandardS3 Express One Zone
Pushes por segundo (teste sintético)até 120mais de 300
Leituras condicionais no S3menos de 10 ms em médiamenos de 10 ms em média
Escalabilidade de leituralinear com até 100 réplicaslinear com até 100 réplicas
Gargalo na taxa mais altacompactação Gitcompactação Git

Arraste para o lado para ver toda a tabela.

Na taxa mais alta, a compactação Git virou o gargalo; apenas o primário compacta, e as réplicas baixam os packs do S3.

D

· Editor-chefe

Especialista em tecnologia, criador de conteúdo e fundador do portal Mercado de TI e Casa do Dev. Analiso tendências de mercado, Inteligência Artificial e carreira, entregando informações precisas, tr...

LinkedIn Site

COMPARTILHAR