Ter 4 servidores front-end que compartilham os mesmos arquivos ao mesmo tempo e cada um é capaz de gravar sem usar algum tipo de DFS ou programa de terceiros dedicado à sincronização de diretórios seria um problema.
Com o azure, você pode pesquisar três coisas.
Armazenamento compartilhado, pode haver algum custo associado à obtenção de seu próprio armazenamento dedicado e não tenho certeza da configuração, no entanto, o Azure oferece isso. Isso garantiria que todos os seus arquivos estivessem disponíveis para cada servidor assim que eles fossem gravados.
O DFS do Azure, DFS é uma ferramenta de sincronização de diretórios baseada em janelas que funciona muito bem, também não tem certeza sobre o custo, mas a configuração pode ser um pouco mais fácil. O DFS funciona de forma assíncrona, por isso há um pequeno atraso, mas não muito.
(Vou explicar como isso seria feito e depois nunca mais falar sobre isso, porque é uma ideia horrível e falhará.) Crie um script que primeiro compare os dados nos quatro servidores e copie os dados diferenciais. Você precisaria compartilhar cada diretório com o servidor que executa o script, com permissão de configuração para que o servidor possa ler e escrever e, em seguida, solucionar problemas, solucionar problemas.
Qualquer uma das opções acima fará o trabalho, se seu trabalho depender desse trabalho, eu recomendaria que você ficasse longe da opção 3.
Dito isto, e você não está tentando gastar dinheiro, siga as etapas abaixo.
veja um programa chamado "sincronização gratuita de arquivos". Existem alguns recursos realmente bons para a versão gratuita. Acredito que haja uma versão paga, mas não tenho certeza dos aprimoramentos que obtém. Eu o usei em muitos dos meus ambientes de desenvolvimento ao tentar obter algo semelhante ao que você está procurando fazer e foi preguiçoso para configurar o DFS.
Torne apenas um servidor gravável, isso pode ser feito facilmente, configurando um URI em cada servidor que diz que, se criar um artigo, vá para ServerA, ou uma URL reescrita em seu web.config, ou seja, o WordPress é o uso de php:
cabeçalho ('Localização: http://myhost.com/mypage.php ');
Cada um deles exigirá um pouco de conhecimento de codificação e PHP, IIS.
- A parte realmente divertida, com o ServerA sendo o servidor de autor (apenas servidor gravável), como direcionamos o tráfego para o ServerB, ServerC e ServerD para leitura sem um balanceador de carga?
Resposta curta, você não pode, bem, isso não é exatamente verdade. Eu tive um cliente uma vez que foi inflexível ao não usar um balanceador de carga, ele conseguiu, através de uma série de scripts do PowerShell, mover uma conexão de um servidor para outro com base na quantidade de processos de trabalho em cada caixa ou algo parecido. De qualquer maneira, é muito difícil de fazer e não vale o tempo e a energia necessários.
Veja se você não pode configurar o balanceamento de carga de rede nos servidores. Isso exigirá um IP adicional, mas sua única alteração de DNS e o tráfego podem ser distribuídos para leitura nos 3 servidores.
Boa sorte!