2011-04-01 11 views
5

Tengo 2 servidores web con carga equilibrada, conectados a 1 servidor Mysql. Una de las funciones de la aplicación php en los servidores permite a los usuarios subir imágenes que deben ser accesibles desde cualquiera de los servidores web. ¿Cuál sería la mejor solución para hacerlo?Mejor solución de carga de archivos para servidores con carga equilibrada

  • ¿Subir las imágenes a las nubes?
  • almacenar las imágenes en la base de datos
  • subir las imágenes al servidor MySQL (no en la base de datos, el sistema de ficheros)
  • ...?

Gracias por sus consejos.

Respuesta

0

Recomendaría subir a una carpeta en el sistema de archivos. Luego ejecute un trabajo cron periódicamente que rsync es la carpeta entre los dos servidores. También podría tener la ejecución de rsync en proceso con la carga de la imagen. Almacenar imágenes en la base de datos puede complicarse y puede hinchar su base de datos.

2

Rsync funciona como antes, pero si ejecuta un sitio de alto tráfico fuera de algo como la plataforma wordpress, la cantidad de imágenes cargadas puede ser demasiado para que rsync se desplace en el árbol de directorios, y verá que rsync se desacelera también un rastreo durante la parte de suma de comprobación, y luego dejará de funcionar como cuando hace un ls en un directorio con demasiados archivos. Pero esta es la mejor solución hasta que encuentre estos problemas.

Otra solución es una partición nfs montada remotamente, pero eso es bastante inseguro a menos que se encuentre en un entorno realmente confiable.

Otra solución sería "poner" el archivo inmediatamente en Amazon S3 y luego almacenar el enlace URL en su base de datos y simplemente renderizarlo en las cargas de la página.

No almacene las imágenes en la base de datos, lo que realmente ralentiza la tabla db.

1

He tenido muy buenos resultados utilizando GlusterFS, que es un sistema de archivos replicado, y Amazon S3 para almacenamiento en la nube.

Cuestiones relacionadas