O que é instalado em servidores "com balanceamento de carga"

0

A pergunta que tenho é muito básica, eu entendo o que é o balanceamento de carga e como ele funciona, mas não consigo visualizá-lo na prática.

Digamos que eu tenha um aplicativo AMP em execução em um servidor. Um dia o tráfego fica muito grande e devo começar a equilibrar a carga e adicionar outro servidor. Eu já tenho todos os meus dados armazenados no primeiro, então o que eu colocaria nesse servidor? Eu poderia copiar os arquivos do site, mas meu banco de dados ainda estaria no primeiro servidor e eu ainda teria que me conectar a ele do meu novo, de modo que não parece uma boa solução? Eu poderia adicionar um terceiro servidor e torná-lo um servidor MySQL e usá-lo para armazenar meus dados e ter meus servidores Apache conectados a isso, mas isso não parece ser uma boa solução porque eu ainda teria todas as solicitações recebendo dados de um lugar único.

Como isso é feito na realidade?

    
por php_nub_qq 23.01.2017 / 10:22

2 respostas

1

a segunda opção é geralmente usada ao usar um dispositivo de balanceamento de carga. Ou seja, existem dois servidores de aplicativos e o dispositivo de balanceamento de carga distribui os tráfegos de entrada entre os dois servidores de aplicativos com base em diferentes algoritmos. Por exemplo, Round Robin, menos solicitações primeiro, etc.

Os dois servidores de aplicativos devem estar conectados a uma única fonte de dados. Para este propósito, você pode usar um banco de dados em cluster que funciona muito bem com o MariaDB (livre, código aberto e um folk do MySQL).

Espero que isso responda à sua pergunta.

    
por 23.01.2017 / 10:42
0

Pode haver várias soluções para o seu caso.
Primeiro - sim, você copia todo o seu diretório www para outro servidor com o apache instalado e o php exatamente as mesmas versões que no primeiro nó. Se o seu aplicativo usa armazenamento de arquivos, o melhor é colocá-lo em compartilhamento - NFS ou sshfs, por exemplo (em um servidor separado). Se você quiser colocar esse armazenamento de arquivos em ambos os servidores de aplicativos, precisará sincronizá-los em tempo real (não é uma boa solução). O NFS criado na SAN é, neste caso, o melhor, porque você tem proteção da SAN etc.
Quanto ao banco de dados - único servidor de banco de dados, separado do aplicativo, hospedado com RAM razoável e espaço em disco, pode lidar com um monte de conexões e um monte de consultas. Você teria que começar a se preocupar se consultas por segundo chegassem a milhares. Mas se você chegar a esse ponto, a solução é, já sugerido, cluster db. Para criar um cluster, você precisa de pelo menos 3 servidores de banco de dados e um balanceador de carga (proxy).
Então, seu conjunto consistiria em:

  1. balanceador de carga para servidores da web
  2. pelo menos 2 aplicativos / servidores da web
  3. servidor de banco de dados
  4. servidor de arquivos (se necessário)

ou, no caso de cluster db:

  1. balanceador de carga para servidores de banco de dados
  2. 3 servidores de banco de dados em um cluster
por 17.11.2017 / 14:16