Disponibilidade do Apache com os dois front-ends em locais diferentes. É possível?

6

Eu tenho para locais (escritório e prestadores de serviços). Um DNS (bind) servindo nosso domínio como autoritativo, e um servidor web de provedor de serviços com nossa web corporativa em um servidor privado.

Então ..

Agora estamos planejando atualizar nosso servidor no ISP para um novo, e eu gostaria de usar essa situação para melhorar nosso serviço.

É possível montar um apache / mysql / php de alta disponibilidade dentro de locais diferentes?

Eu instalarei um slave de ligação no mesmo novo servidor, então espero que facilite as coisas, mas eu preciso de algumas dicas e sugestões sobre como montá-lo.

Obrigado.

    
por Marc Riera 17.05.2010 / 18:56

3 respostas

5

Kyle acertou na cabeça referenciando o post que identifica o Teorema do CAP .

Em última análise, isso vai se resumir a orçamento e recursos. A melhor maneira de lidar com a disponibilidade na fronteira será com protocolos de rede, como o BGP . Tornar a rede altamente disponível é mais fácil, pois você não tem a preocupação com a integridade dos dados na maioria dos casos.

Usar DNS round robin é uma solução de compromisso e menos robusta, mas certamente viável também.

Na parte inferior da pilha, você tem os servidores da Web, que são mais fáceis de fazer failover dinamicamente, como com qualquer coisa que não envolva armazenamento de dados.

No backend, você pode replicar o MySQL pela Internet ou de preferência por um link privado. Se pela Internet, pelo menos, use SSL . Uma VPN seria melhor. Esta é a parte mais complicada e algo que eu estou trabalhando ainda agora. Se você não se importa com a integridade dos dados, é simples. Se seu produto é focado em leitura, você tem mais opções, pois é menos complicado.

O que eu continuo voltando é o seguinte ...

Alta disponibilidade e continuidade de negócios são duas coisas distintas. Um ambiente de alta disponibilidade é melhor estabelecido dentro da mesma instalação na mesma rede interna, pois os melhores cenários possíveis podem ser aplicados com riscos mínimos aos dados. O cérebro dividido é substancialmente menos provável com um cabo serial de 3 'para monitorar o status do servidor, além do link Ethernet. Com um desastre, muitas vezes haverá etapas manuais envolvidas e um SLA ditando os impactos e os termos. Se o data center principal foi queimado, 30 minutos para fazer o backup da produção não parece muito ruim.

Eu provavelmente poderia escrever um livro sobre o assunto, já que há muito a fazer. Você provavelmente terá que comprometer os requisitos com base em seus recursos, que deverão ser comunicados à empresa. Este não é um pedido simples.

Uma solução mais simples pode ter dois provedores de DNS externos, onde um escapa de seu servidor em um site e outro externo de um DNS em outro site. Dessa forma, se o provedor falhar, você poderá alterar o caminho de entrada usando o DNS.

Um caminho da Web em um site, um no outro. Mestre duplo no backend com failover manual no topo. Isso seria simples e não arriscaria a integridade dos dados, mas teria que ser manual para fazer isso.

    
por 24.05.2010 / 18:48
2

É possível, mas você provavelmente terá mais problemas com o mysql. Veja esta questão da Warner sobre instalações MySQL geograficamente diversas .

Em relação ao DNS para failover, você pode ler o debate sobre isso em esta questão .

    
por 17.05.2010 / 18:59
0

Dependendo exatamente do que você deseja realizar, você pode dar uma olhada nos seguintes programas (gratuitos e de código aberto):

Independentemente da solução escolhida para alta disponibilidade, você deve certificar-se de que sempre tenha servidores DNS autoritativos disponíveis, mas isso é um problema separado.

    
por 22.05.2010 / 21:30