Eu tenho um aplicativo de comércio eletrônico personalizado que é executado em seu próprio servidor dedicado. Todas as constantes (como conexões de bancos de dados, caminhos de arquivos, etc.) são definidas em um único arquivo _constants.php. O código inteiro é rastreado pelo svn. (espere pelo arquivo de constantes)
Agora estamos crescendo. Estou mudando para um sistema apache balanceado com carga de 3 servidores, com um servidor mysql dedicado e um servidor "compartilhado" dedicado. O servidor compartilhado é linkado simbolicamente de cada servidor com carga balanceada. lb1 é o mestre e está configurado para fsyncar o diretório public_html para os outros servidores a cada 1 minuto.
Agora, estou com a tarefa de migrar o aplicativo para a nova configuração do servidor. Perguntas:
Constantes de caminho de arquivo. Cada um dos servidores de carga balanceada tem um caminho de arquivo diferente para a pasta public_html. O que eu faço aqui? Acabei de verificar o código para lb1 e colocar a pasta de constantes fora de public_html? Eu reescrevi a pasta de 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. Em seguida, alterarei 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ão incluídos em um svn repo. Eu estava pensando em checar toda a base de código no servidor compartilhado também, mesmo que os únicos arquivos acessados sejam as imagens, js e css. Mesma coisa no lb1. Verifica toda a base de código, mesmo achando que nunca irá carregar os gráficos, css, gfx daquele local. Torna mais fácil. Eu sei que estou perdendo espaço no disco rígido, mas dessa forma eu não preciso manter svn repos separados. Estou fazendo isso errado? Existem outras maneiras melhores?
Eu tenho um servidor de tomcat executando o solr. Meu host me disse que eles estão rodando em lb1 e também configurado para rsync toda a pasta tomcat a cada 1 minuto. Isso deve ser bom?
Eu tenho uma interface de administração para a equipe. Eles fazem login para alterar produtos, processam pedidos de todos os tipos de coisas. Devo configurar um subdomínio para eles que sempre os direcione para o lb1 para fazer seu trabalho?
Eu planejo ter todos os arquivos de log apontados para o compartilhamento. Isso soa bem?
Tarefas Cron. Eu tenho um trabalho cron mestre. Ele executa códigos que atingem o banco de dados e os arquivos de logs. Eu acho que vou executar isso no servidor compartilhado apenas, assim, outra boa razão para eu ter toda a base de código no servidor compartilhado. Como isso soa?
Quais são algumas outras "melhores práticas" que eu deveria conhecer?
Se houver um lugar melhor para fazer essa pergunta, entre em contato.
Obrigado antecipadamente.