Aqui estão algumas outras ideias gerais ...
Re: carga de rede do backroom, se estamos falando de carga de tráfego de entrar em contato com seus hosts FastCGI, eu diria que colocar um servidor web nessas máquinas e deixá-los falar diretamente com o mundo exterior pode ser uma boa idéia. Uma coisa a ter em mente é manter o isolamento / proteção de seu banco de dados no caso de um comprometimento de segurança, o que poderia ser um argumento para empurrar seu material FastCGI para os servidores web e escrever algo mais leve para conversar com seu banco de dados ... / p>
(Se estamos falando de algo mais, deixe-me saber e eu vou dar um pulo nisso: -)
Re: o problema dos arquivos estáticos, há várias maneiras de resolver esse problema.
-
Coloque uma cópia dos dados estáticos em todos os servidores que precisam enviá-los.
Vamos chamar isso de método "Disco é barato" - impede que você despeje uma quantidade enorme de carga em uma única caixa que hospeda seu conteúdo estático e elimina esse ponto único de falha. A desvantagem é que você tem que sincronizar esse conteúdo de alguma forma (scripts de implantação, rsync do cron, cvs / git / svn, etc.) -
Instale uma infraestrutura de armazenamento em cache nos servidores front-end
Essa é uma solução semelhante a "Disco é barato" acima, somente você tem um servidor back-end com o conteúdo estático e, quando os servidores front-end precisam, eles armazenam em cache uma cópia para $ LIFETIME . eliminando assim a necessidade de scripts de sincronização (a infraestrutura de cache faz isso por você). -
Coloque seu conteúdo estático em uma rede de distribuição de conteúdo
Isso realmente só funciona se você não estiver fazendo coisas SSL - Um CDN comercial resolve o problema de carga e fornece aos usuários pontos geograficamente distribuídos dos quais eles podem pegar seu conteúdo. A desvantagem é que a maioria dos navegadores ajustará um ajuste se você fizer isso com um site que tenha SSL, a menos que seu CDN também esteja protegido (mesmo assim, os navegadores paranoicos devem reclamar corretamente).