Migração para nuvem do banco de dados MongoDB
Dei uma palestra sobre como o Woovi migrou da nuvem para nossos servidores, aqui estão os slides: https://speakerdeck.com/sibelius/no-cloud-how-woovi-moved-from-aws-to-its-own- servidores
Neste artigo, abordaremos três abordagens para migrar um cluster MongoDB de uma nuvem para outra. Os conceitos também se aplicariam a outros bancos de dados.
Mongodump e Mongorestore
A primeira abordagem que tentamos foi interromper a atividade do servidor para interromper a modificação do banco de dados e, em seguida, fazer um mongodump seguido de um mongorestore em nossos servidores.
Isso funciona bem se o tamanho do seu banco de dados for pequeno, caso contrário, levará muito tempo.
No nosso caso, demorou 4 horas.
Quatro horas de inatividade são muito arriscadas.
Nós não fomos se essa abordagem
Mongosync
Outra abordagem foi usar o mongosync , que permite sincronizar dois clusters.
Parece uma boa abordagem, mas faltam alguns dados e índices na sincronização.
Por causa desses erros também evitamos essa abordagem.
Incluindo novos nós de cluster no mesmo conjunto de réplicas
A abordagem que funcionou bem e que usamos na produção para migrar da nuvem foi adicionar novos nós no novo cluster no mesmo conjunto de réplicas existente.
Criamos alguns scripts para validar se eles tinham a mesma contagem de dados e os mesmos índices.
Após a sincronização, paramos os servidores em nuvem, deixamos os dados sincronizarem a atividade restante e iniciamos os novos servidores em nosso hardware.
Depois disso, removemos os nós da nuvem MongoDB do replicaset.
O tempo de inatividade dessa abordagem foi de 5 minutos na madrugada.
Para concluir
Migrar serviços e dados de uma nuvem para outra nuvem ou para seus próprios servidores pode ser muito arriscado. Na Woovi testamos várias abordagens para garantir que a migração fosse um sucesso.
Espero que este artigo te ajude quando você decidir migrar da nuvem para #nocloud.
Woovi é uma startup inovadora que está revolucionando o cenário de pagamentos. Com o Woovi, os compradores podem desfrutar da liberdade de pagar como preferirem. Nossa plataforma de ponta oferece soluções de pagamento instantâneas, capacitando os comerciantes a aceitar pedidos e aprimorar a experiência do cliente de maneira integrada.
Por: Sibelius Seraphini