Servidores Web duplos que carregam o saldo e apontam para o mesmo banco de dados

1

Atualmente, estou executando um servidor da Web em minha casa com um Raspberry Pi. Com bastante sucesso eu posso adicionar. O único problema é que às vezes o cartão SD fica corrompido e meu site fica inativo por mais ou menos uma hora enquanto eu re-imagem-lo. Eu tenho um backup noturno, então não é grande coisa, mas eu não quero que o meu site afunde.

Então, minha solução é que eu já tenho um segundo pi, por que não fazer servidores duplos.

O banco de dados compartilhado que eu acho que consigo descobrir sozinho. O problema que estou enfrentando é que eu não tenho idéia de como balancear a carga ou até mesmo direcionar o tráfego para vários servidores. Preciso de uma máquina entre meu roteador e servidores para direcionar o tráfego?

Aqui está minha configuração atual

Eéissoqueeuquero

Parece que tenho a ideia correta sobre como arquitetar isso? O que estou perdendo?

    
por Anthony Russell 04.02.2014 / 01:00

1 resposta

1

Os balanceadores de carga são de todas as formas, tamanhos e custos. Se você quiser fazer isso de graça, Linux-HA funciona muito bem, embora tenha um pouco de aprendizado curva. Você pode até fazer isso com o iptables, ou como uma entrada Round-Robin DNS , embora esses dois últimos não tenham monitoramento ou facilidade para lidar com máquinas com defeito.

Existem também muitos aplicativos e softwares que fornecem essa funcionalidade.

A idéia geral é que há uma única máquina (ou appliance) que responde às solicitações e, em seguida, encaminha as solicitações para dois ou mais servidores atrás dela (às vezes no NAT, às vezes não), embora o balanceador de carga sempre mascarar o IP público. Round Robin DNS está fora disso, pois você configurou um registro DNS igualmente balanceado para o nome de domínio, e o servidor DNS fornecerá IP 1, depois IP 2, 1, 2, 1, 2, etc. neste caso, é não máquina masquerading o IP público .. e, claro, não há facilidade para detectar e atenuar máquinas indisponíveis.

Sistemas e softwares mais avançados acompanham o número de conexões, a integridade dos servidores e podem fazer coisas como garantir que as conexões de https (ou sessão) sempre vão para o mesmo servidor, para evitar problemas de conectividade. Essas máquinas farão com que um servidor não seja sobrecarregado e, se ficar indisponível, ele o removerá do pool de endereços para o qual encaminhará solicitações.

Espero que isso lhe dê algo para começar.

    
por 04.02.2014 / 12:38