Ter quatro servidores front-end que compartilham os mesmos arquivos ao mesmo tempo e que cada um é capaz de escrever sem usar algum tipo de programa de DFS ou de terceiros dedicado à sincronização de diretórios seria uma égua noturna.
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 arquivos estejam disponíveis para cada servidor assim que forem gravados.
-
O Azure DFS, DFS, é uma ferramenta de sincronização de diretórios baseada em Windows que funciona muito bem, além de não ter certeza sobre o custo, mas a configuração pode ser um pouco mais fácil. O DFS funciona de forma assíncrona, portanto 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 irá falhar.) Crie um script que primeiro compare os dados em todos os quatro servidores e depois copie os dados diferenciais. Você precisaria compartilhar cada diretório com o servidor que está executando o script, configurar a permissão para que o servidor possa ler e gravar e, em seguida, solucionar problemas, solucionar problemas.
Qualquer uma das opções acima fará o trabalho, se o seu trabalho depender desse trabalho, recomendo que você fique longe da opção 3.
Assim sendo, e você não está tentando gastar dinheiro, siga as etapas abaixo.
-
veja um programa chamado "sincronização gratuita de arquivos". Existem alguns recursos muito bons para a versão gratuita. Acredito que haja uma versão paga, mas não tenho certeza das melhorias que você obtém. Eu o usei em muitos dos meus ambientes de desenvolvimento ao tentar alcançar algo semelhante ao que você está procurando fazer e era preguiçoso em configurar o DFS.
-
Faça apenas um servidor gravável, isso pode ser feito facilmente configurando um URI em cada servidor que diz se criar um artigo vá para ServerA, ou um URL reescreva em seu web.config, ou seja, o WordPress é php use:
header ('Localização: link ');
Cada um terá um pouco de codificação e PHP, conhecimento do IIS.
- A parte realmente divertida, com ServerA sendo o servidor autor (somente servidor gravável), como direcionar o tráfego para ServerB, ServerC e ServerD para leitura sem um balanceador de carga?
Resposta curta que você não pode, bem, isso não é exatamente verdade, eu tive um cliente que foi inflexível sobre não usar um balanceador de carga, ele conseguiu através de uma série de scripts powershell mover uma conexão de um servidor para outro baseado em a quantidade de processos de trabalho em cada caixa ou algo parecido. De qualquer forma muito difícil de fazer e não vale a pena o tempo e energia para colocar adiante.
Veja se você não pode configurar o balanceamento de carga de rede nos servidores. Ele exigirá um IP adicional, mas sua única alteração de DNS e o tráfego poderão ser distribuídos para leitura nos três servidores.
Boa sorte!