Replicación de base de datos distribuida usando SWIM y BadgerDB

2025-05-14
Replicación de base de datos distribuida usando SWIM y BadgerDB

Este artículo describe un esquema de replicación de base de datos distribuida que aprovecha el protocolo SWIM y la función de copia de seguridad incremental de BadgerDB. Utilizando el paquete memberlist de Hashicorp y su mecanismo TCP Push/Pull, los nodos calculan periódicamente su estado local y lo envían a otros nodos. Los nodos remotos fusionan el estado remoto con su estado local, desencadenando el proceso de replicación. El estado del nodo se define como el conjunto de las últimas versiones conocidas de otros nodos. Al recibir el estado, un nodo envía solicitudes HTTP al nodo remoto, sincronizando concurrentemente copias de seguridad incrementales de las bases de datos auth, config y log, logrando así la replicación real.

Desarrollo replicación