Pregunta

Tenemos una situación en la que los usuarios pueden cargar contenido y luego realizar algunos cambios por separado y luego enviar un formulario basado en esos cambios.

Esto funciona bien en un entorno de servidor único sin conmutación por error; sin embargo, nos gustaría algún tipo de solución para compartir archivos entre servidores que admita la conmutación por error.

¿Alguien se ha encontrado con esto en el pasado?¿Y qué tipo de soluciones pudiste desarrollar?Obviamente, persistir en la base de datos es una opción, pero preferiríamos evitarla.

¿Fue útil?

Solución

En un trabajo anterior teníamos un grupo de servidores web con un equilibrador de carga F5 delante de ellos.Tuvimos un problema muy similar en el sentido de que nuestras aplicaciones permitían a los usuarios cargar contenido que podía incluir fotografías y demás.Estas eran aplicaciones heredadas y no queríamos editarlas para usar una base de datos y una solución SAN era demasiado costosa para nuestra situación.

Terminamos usando un servicio de replicación de archivos en los dos servidores agrupados.Esto se ejecutó como un servicio en ambas máquinas usando una cuenta que tenía acceso de red a rutas en el servidor opuesto.Cuando se cargaba un archivo, este servicio backend sincronizaba los datos en las carpetas del sistema de archivos, haciéndolos disponibles para ser servidos desde cualquiera de los servidores web.

Dos de los productos que revisamos fueron Viceversa y Sincronización entre pares.Creo que terminamos usando PeerSync.


Otros consejos

En nuestro escenario, tenemos un servidor de archivos separado en el que escriben nuestros dos servidores de aplicaciones front-end, de esa manera cualquiera de los servidores tiene acceso a los mismos conjuntos de archivos.

La mejor solución para esto suele ser proporcionar el área compartida en algún tipo de SAN, a la que se pueda acceder desde todos los servidores y que contenga conmutación por error.

Esto también tiene la ventaja de que no es necesario proporcionar equilibrio de carga fijo, la carga puede ser manejada por un servidor y la edición por otro.

Una SAN compartida con conmutación por error es una gran solución con un coste elevado (alto).¿Existe alguna solución similar con conmutación por error a un costo razonable?¿Quizás algo como DRBD para Windows?

El problema con un sistema de archivos compartido simple es la falta de redundancia (¿qué pasa si el servidor de archivos deja de funcionar)?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top