Como vocês fazem em casos em que uma aplicação não pode ficar fora?
Estou na seguinte situação: um vps com a aplicação padrão e uma hospedagem para a aplicação backup.
Qual estratégia vocês adotam para manter as bases de dados sincronizadas?
No vps, estou rodando um job (crontab) para replicar a base padrão para a hospedagem de backup. Se houver falha no servidor padrão, o backup entra em ação automaticamente.
Mas essa abordagem exige atenção a alguns detalhes, como suporte a falhas, sincronia entre as bases etc.
Gostaria de saber como os ninjas daqui lidam com situações como essa.
Bronx, essa sua abordagem se trata de uma replicação por SnapShot como o pessoal diz no mercado, não é a melhor solução para esse caso, nesse seu caso existe a necessidade desse mecanismo ser bidirecional.
1º) Nessa explicação não entendi como será tratado o Recovery/Restore no 1º nó. Com a queda da instância principal da sua aplicação a segunda precisa garantir que as transações feitas nela sejam replicadas para a principal após ser reestabelecida.
2º) GAP entre os dois nós. Dependendo do Scheduller você poderá ter algumas perdas de dados. Por exemplo se o tempo de agendamento for 15 minutos e o servidor cair 14 minutos após a ultima execução tudo oq aconteceu nesses 14 minutos será perdido ou pior você poderá ter inconsistências.
A primeira base irá ter 14 minutos de transações e dados que não irão estar na segunda base, a segunda base assumindo irá ter novas transações durante o peridodo de indisponibilidade da primeira. No momento em que a primeira base voltar você deverá ter alguma estratégia para sincronizar dados e entender quais dados realmente estarão valendo.
De soluções mercado boas para esse caso eu só conheço o Oracle Coherence, seria um tipo gestor de persistência com cash. Você efetiva suas transações todas em um Cash e de tempos em tempos essa ferramenta registra suas transações que pode ser para N bases. Eu não sei se no mercado há outras soluções para isso, seria interessante você pesquisar ferramentas como essa.