O KumoMTA usa RocksDB para o spool da fila. Ele sobrevive a falhas e reinicializações, mas as filas de um nó morto ficam presas no disco desse nó.
Dois padrões de resiliência:
1. Par de nós por shard com armazenamento NVMe compartilhado / DRBD. Se o nó A cai, o nó B monta o spool e continua. Failover mais rápido, mas exige muita operação.
2. Ativo/ativo com tolerância a breves envios duplicados. O spool fica local. Se um nó cai, direcione os novos e-mails para os nós que restaram. Os e-mails que já estavam no spool morto aguardam a recuperação (normalmente <30 min em infraestrutura moderna). Tolere breves atrasos em troca de uma resiliência simples.
A maioria dos ESPs escolhe a nº 2. E mantém reservas prontas para montar um snapshot vindo do armazenamento de objetos.
Backup do spool: os checkpoints do RocksDB podem ser copiados para o S3 de hora em hora. A restauração em um nó novo é testada a cada trimestre.
Entre para acompanhar o que você já leu.