Tener 4 servidores front-end que comparten los mismos archivos al mismo tiempo y cada uno puede escribir sin usar algún tipo de DFS o un programa de terceros dedicado a la sincronización de directorios sería una yegua nocturna.
Con azul puedes mirar en 3 cosas.
Almacenamiento compartido, puede haber algún costo asociado con la obtención de su propio almacenamiento dedicado, y no estoy seguro de la configuración, sin embargo, Azure ofrece esto. Esto garantizaría que todos sus archivos estén disponibles para cada servidor tan pronto como se escriban.
Azure DFS, DFS es una herramienta de sincronización de directorios basada en Windows que funciona bastante bien, no está seguro sobre el costo, pero la configuración podría ser un poco más fácil. DFS funciona de forma asíncrona, por lo que hay un pequeño retraso, pero no mucho.
(Voy a explicar cómo se haría esto y luego nunca volveré a hablar de ello, porque es una idea horrible y fallará). Cree un script que primero compare los datos en los cuatro servidores y luego copie los datos diferenciales. Debería compartir cada directorio con el servidor que ejecuta la secuencia de comandos, permiso de configuración para que el servidor pueda leer y escribir y luego solucionar problemas, solucionar problemas.
Cualquiera de las opciones anteriores hará el trabajo, si su trabajo depende de este trabajo, le recomendaría que se mantenga alejado de la opción 3.
Dicho esto, y no estás tratando de gastar dinero, sigue los pasos a continuación.
mira un programa llamado "sincronización de archivos gratis". Hay algunas características realmente buenas para la versión gratuita. Creo que hay una versión paga pero no estoy seguro de las mejoras que obtienes. Lo he usado en muchos de mis entornos de desarrollo al tratar de lograr algo similar a lo que está buscando hacer y fue flojo para configurar DFS.
Haga que solo se pueda escribir un servidor, esto se puede hacer fácilmente configurando un URI en cada servidor que diga si crear un artículo vaya a ServerA, o una reescritura de URL en su web.config, o si WordPress es php use:
encabezado ('Ubicación: http://myhost.com/mypage.php ');
Cada uno requerirá un poco de codificación y PHP, conocimiento de IIS.
- La parte realmente divertida, con ServerA siendo el servidor de autor (solo servidor de escritura), ¿cómo dirigimos el tráfico a ServerB, ServerC y ServerD para leer sin un equilibrador de carga?
Respuesta corta que no puede, bueno, eso no es exactamente cierto, una vez tuve un cliente que se mostró inflexible acerca de no usar un equilibrador de carga que pudo a través de una serie de scripts de PowerShell para mover una conexión de un servidor a otro en función de la cantidad de procesos de trabajo en cada caja o algo así. De cualquier manera, es muy difícil de hacer y no vale la pena el tiempo y la energía.
Vea si no puede configurar el Equilibrio de carga de red en los servidores. Se requerirá una IP adicional pero es solo un cambio de DNS y el tráfico se puede distribuir para leer en los 3 servidores.
¡Buena suerte!