A história da reescrita do mecanismo de Sync da Dropbox
(dropbox.tech)-
Reescrito em Rust ao longo de 4 anos e colocado em produção
-
O núcleo (Control) funciona em thread única e faz processamento assíncrono com futures
-
Opera de forma totalmente determinística em relação às entradas
→ Testes com aleatoriedade se tornam possíveis, e reproduzir bugs fica mais fácil
- Pontos considerados antes de reescrever
✓ Vocês já tentaram fazer refatoração?
✓ Já tentaram melhorar o desempenho otimizando as partes principais?
✓ É possível agregar valor adicional?
✓ Vocês entendem perfeitamente o sistema atual?
✓ Há tempo suficiente de desenvolvimento?
✓ É aceitável também que o desenvolvimento de novos recursos no mecanismo existente atrase?
✓ Por que vocês acham que reescrever seria uma boa ideia?
✓ Quais são os princípios do novo sistema?
1 comentários
Essas são perguntas que precisamos fazer antes de dizer "vamos redesenvolver" sobre um sistema existente.