Por que você não usa apenas o proxy reverso, como Squid ?
Eu criei um subdomínio para conteúdo estático para poder veiculá-lo com mais eficiência por vários servidores da Web com balanceamento de carga . Este conteúdo estático é atualizado automaticamente , a uma taxa de ~ 1k arquivos / dia.
Agora eu uso o rsync para atualizar os servidores em um modo mestre / escravo , mas como o conteúdo tem um número crescente de arquivos de mais de 100k, leva mais e mais tempo e coloca um aumento da carga de E / S no mestre e nos escravos.
Não consigo usar a solução que propus no Melhorar o desempenho do rsync desde que eu não posso saber quais arquivos são modificados sem stat
-em todos eles, e que não resolveria o aumento do custo de I / O . Eu também tenho que lidar com a exclusão de arquivos.
Eu pensei em usar algo como ar / o NFS nos escravos, mas que poderia um pouco derrotar o efeito de balanceamento de carga e colocar uma gratuita="http://en.wikipedia.org/wiki/Single_point_of_failure" title="Ponto único de falha"> SPOF .
Btw, os servidores estão executando o AIX, mas também estou interessado em uma solução em um contexto mais genérico.
Por que você não usa apenas o proxy reverso, como Squid ?
Você talvez deva considerar o DRBD com o OCFS para que possa ter nós mestre / mestre. Isso não cria SPOF porque cada nó tem uma cópia local.
Você também pode criar dois servidores de nós NFS (mestre / standby DRBD ou mestre / mestre DRBD com LB). Se você tiver muitos nós, esta é a melhor opção.
Se você estiver usando o rsync, verifique se os arquivos não são acessados toda vez que você os sincroniza. Dessa forma, apenas as listas de arquivos e os timestamps são comparados e devem ser razoavelmente rápidos, mesmo com milhões de arquivos.
O rsync -t deve replicar os registros de data e hora e comparar apenas os registros de data e hora. Se isso não funcionar, use a opção somente tamanho (se o seu arquivo puder mudar sem alterar o tamanho, tenha cuidado)