Engenharia, às claras

Levamos nosso ledger até algo quebrar. Não foi o ledger.

Continuamos aumentando a carga até o próximo limite, removemos um ponto de contenção e deixamos o banco do ledger em cerca de metade da capacidade no pico.

Arquitetura com 2.600 pagamentos por segundo passando por computação stateless escalável horizontalmente, um ponto de contenção removido e banco saudável em cerca de metade da capacidade, com todos os pagamentos confirmados e zero falhas graves ou violações.

2.600/ segundo

confirmados

Todos os pagamentos completos oferecidos concluíram até o topo da rampa.

~50%

capacidade do banco

Usada no pico depois da remoção da contenção.

0

falhas graves

Nenhum pagamento desapareceu em um resultado ambíguo.

0

violações do ledger

A auditoria independente permaneceu limpa.

Passamos da taxa confortável e continuamos

Nosso estudo anterior mostrou que o ledger permanecia correto e rápido na taxa publicada, com folga. Desta vez queríamos encontrar o ponto em que o sistema parava de acompanhar e entender o que ele realmente era.

Elevamos o caminho completo de autorização e captura além do ponto em que a latência subiu e observamos qual componente cederia primeiro.

O muro era nossa própria contenção no banco

A vazão parou de crescer mesmo com o processador do banco longe de ocupado. Essa é a assinatura da contenção: trabalho serializado em vez de recurso esgotado.

Localizamos o ponto no caminho de escrita, removemos e executamos a rampa novamente.

O resultado foi direto: todos os pagamentos oferecidos foram confirmados, 100%, até 2.600 por segundo, com zero falhas graves. Nessa carga, o banco gerenciado usou apenas cerca de metade de sua capacidade máxima.

Os 1.600 pagamentos por segundo publicados ficam confortavelmente dentro dessa faixa medida. Era um número conservador, e o teste posterior mostra por quê.

O próximo limite é a parte simples

Sem a contenção, o teto mudou para a computação stateless à frente do ledger, a parte que escala horizontalmente adicionando instâncias. É um bom lugar para o limite.

A parte difícil de pagamentos não é aceitar requisições. É manter o ledger correto enquanto o dinheiro se move sob carga. Essa parte nunca foi o gargalo.

Uma auditoria independente recalculou todos os saldos a partir de 1,3 milhão de transações:

Conservação

Os lançamentos assinados continuaram fechando em zero por moeda.

0

Toda transação fecha

Nenhuma transação deixou os livros desequilibrados.

0

Armazenado igual a recalculado

Os saldos armazenados corresponderam ao histórico.

0

Nenhum saldo proibido

Cada conta permaneceu dentro do piso configurado.

0

Todos os invariantes retornaram zero.

O limite mudou para computação comum. A fronteira de correção não mudou.

As evidências são públicas

Acesso antecipado

Torne-se um parceiro de design.

Estamos trabalhando com um pequeno numero de equipes que constroem produtos de carteira e financeiros sobre o WalletD. Se essa e a sua equipe, vamos conversar. Voce tera acesso direto as pessoas que o construiram.