
Eu tenho um aplicativo de comércio eletrônico personalizado que roda em seu próprio servidor dedicado. Todas as suas constantes (como conexões de banco de dados, caminhos de arquivos etc.) são definidas em um único arquivo _constants.php. Todo o código é rastreado pelo svn. (espere o arquivo de constantes)
Agora estamos crescendo. Estou mudando para um sistema Apache com balanceamento de carga de 3 servidores, com um servidor MySQL dedicado e um servidor "compartilhado" dedicado. O servidor compartilhado tem link simbólico de cada servidor com balanceamento de carga. lb1 é o mestre e está configurado para sincronizar o diretório public_html com os outros servidores a cada 1 minuto.
Agora me deparo com a tarefa de mover o aplicativo para a nova configuração do servidor. Questões:
Constantes de caminho de arquivo. Cada servidor com balanceamento de carga possui um caminho de arquivo diferente para sua pasta public_html. O que eu faço aqui? Acabei de verificar o código em lb1 e colocar a pasta de constantes fora de public_html? Devo reescrever a pasta constantes para que ela possa descobrir em que caminho ela está?
Estou movendo todos os arquivos "compartilhados" para o servidor compartilhado, como imagens, javascript, css etc.. Alterarei então o caminho para fazer referência a eles no arquivo de constantes. No entanto, todo o conjunto de códigos, incluindo esses arquivos compartilhados, está incluído em um repositório svn. Eu estava pensando em verificar toda a base de código no servidor compartilhado também, mesmo que os únicos arquivos acessados sejam imagens, js e css. A mesma coisa no lb1. Verifique toda a base de código, mesmo que ela nunca carregue os gráficos, css, gfx daquele local. Torna tudo mais fácil. Eu sei que estou desperdiçando espaço no disco rígido, mas dessa forma não preciso manter repositórios SVN separados. Estou fazendo isso errado? Existem outras maneiras melhores?
Eu tenho um servidor Tomcat rodando o solr. Meu host me disse que ele está rodando em lb1 e também configurado para sincronizar novamente toda a pasta do Tomcat a cada 1 minuto. Isso deveria ser bom?
Eu tenho uma interface administrativa para a equipe. Eles fazem login para alterar produtos, processar pedidos de todo tipo de coisa. Devo configurar um subdomínio para eles que sempre os aponte para lb1 para fazerem seu trabalho?
Pretendo que todos os arquivos de log sejam compartilhados. Isso parece bom?
Cron jobs. Eu tenho um cron job mestre. Ele executa códigos que atingem o banco de dados e os arquivos de log. Acho que executarei isso apenas no servidor compartilhado, sendo outro bom motivo para ter toda a base de código no servidor compartilhado. Como isso soa?
Quais são algumas outras "melhores práticas" que devo conhecer.
Se houver um lugar melhor para fazer essa pergunta, por favor me avise.
Desde já, obrigado.