Pregunta

Tengo un sistema de gestión de contenido que se ejecuta en un servidor web, que entre otras cosas permite al usuario cargar activos como imágenes, archivos, etc en el servidor.

El problema que tengo es que habrá 2 servidores que ejecutan detrás de un equilibrador de carga y estoy tratando de encontrar una forma eficaz de manejar la gestión de activos.

La pregunta que tengo es:

¿Los activos pueden subir a un servidor cada vez? ¿O hay una posibilidad de que las imágenes / archivos terminarán en server1 o servidor2 dependiendo de la carga?

¿Cómo sirvo las imágenes si yo no sé de qué servidor terminan en? Voy a tener que mantener a los directorios de estos activos (imágenes / archivos) sincronizados entre los dos servidores?

Gracias,

¿Fue útil?

Solución

La sincronización es un problema duro de roer. Usted puede hacer la sincronización ad-hoc utilizando couchdb pero que requiere un buen conocimiento de los problemas de bajo nivel. Por lo tanto es necesario elegir un maestro de escritura.

DRDB

Se podría buscar en DRDB : D Usar un servidor como la escritura maestro y el otro como el esclavo. A continuación, puede contenido del servidor de ambos. Este enfoque es increíble para bases de datos de pares.

Nota: que separa su código y la dirección URL de escritura para el maestro y servir sólo se evitará

couchdb

Se puede usar couchdb pero creo que podría ser una exageración. Esto es para las cantidades grande de datos y altos niveles de tolerancia a fallos.

NFS

Se puede exportar el directorio activo en la escritura principal como una unidad NFS y la importación desde el otro ordenador. Pero en este caso no sería de carga equilibrada en todos los casos - es decir, sólo si los archivos se almacenan en caché por el esclavo. Se puede usar un tercer ordenador como servidor NFS - esto permitiría aplicar una escala a más servidores web.

Un servidor NFS central podría ser su mejor solución como se puede prescindir de una escritura maestro como cada servidor front-end puede realizar escrituras. Este es el enfoque que yo usaría a menos que esté pensando en ir más allá del rango de bytes PETA: P

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