Somos uma pequena startup. Em nossa configuração atual, temos um servidor dedicado em um local remoto. Nosso site e aplicativos estão hospedados nesse servidor. Website e alguns aplicativos estão em PHP e o restante são aplicativos java usando Tomcat e JBoss. Nosso servidor de banco de dados é o mysql. Nós backup de dados mysql para o nosso servidor local usando a replicação. Obviamente, a coisa pode dar errado de várias maneiras nesta configuração e eles têm. Tivemos alguns problemas graves de inatividade e outros sustos recentemente.
A nova configuração que temos em mente é a seguinte.
1) Comprando um novo servidor com a mesma configuração que o atual. Configurando isso semelhante ao servidor atual com todos os aplicativos e softwares
2) Fazendo backup ativo para o novo servidor usando o BackupPC. (sincronizando apenas os arquivos que estão sempre mudando, como sites, apps php, jboss e tomcat)
3) Executando um escravo mysql no novo servidor com replicação semi-síncrona
4) Executando o apache / nginx / lighttpd como um proxy reverso em um servidor separado que aponta para o servidor principal.
5) Continue a executar um escravo no servidor local
Em caso de inatividade, podemos apontar o proxy reverso para o servidor secundário. Não queremos fazer o failover automático, porque precisamos garantir que o servidor secundário esteja totalmente sincronizado antes de apontá-lo.
Quais são os prós e contras da abordagem acima? Ou como isso pode ser melhorado? Eu entendo que o proxy reverso será um SPOF. Neste ponto, estamos procurando uma solução econômica. O proxy reverso pode ser um servidor de baixo custo com uma configuração decente?
Eu apenas coloquei isso juntos lendo vários artigos. É possível que alguns dos meus entendimentos estejam errados. Por favor, sinta-se livre para corrigi-los.