Criei uma engine de Replay e Backfill para sistemas Event-Driven
Todo sistema event-driven cresce. E em algum momento alguem precisa reprocessar meses de eventos historicos.
A solucao que a maioria das empresas usa: um script escrito as pressas, sem checkpoint, sem retry, sem visibilidade. Se cair no meio, recomeça do zero.
Decidi construir uma alternativa por conta propria, por diversao e curiosidade.
Echo é uma engine de replay e backfill para pipelines distribuidos. Uma chamada de API substitui o script manual.
Esta é a V1, e é simples de proposito. Meu plano foi entregar o nucleo funcionando antes de qualquer complexidade:
Reprocessamento por range de tempo
Workers paralelos com BullMQ
Checkpoint persistente (se cair, retoma de onde parou)
Dead-letter queue com payload preservado
Dashboard de filas em tempo real
Testei com 50K eventos em um range de 6 meses:
parallelism=1: 3,2s
parallelism=20: 0,8s
3.7x mais rapido. Mesma maquina, mesmo dataset.
Nao e um projeto de aprendizado do zero, é um "sample" de infraestrutura que ja apliquei na pratica em um ETL que processa/processava 21K+ eventos blockchain por dia. O Echo formaliza isso e deixa publico pra quem quiser usar ou contribuir.
Planos pra V2: connectors reais (Kafka, Redis Streams, SQS), webhooks de notificacao e talvez um SDK pra embutir direto no projeto.
Stack: NestJS, TypeScript, PostgreSQL, Redis, BullMQ, Docker
github.com/GeyzonErik/echo