GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo compartir activos entre múltiples servidores web?

Solución 1:

Hay varias formas de hacerlo según sus necesidades.

  • Utilice un servidor de archivos central montado con fx NFS en los servidores web
  • Igual que el anterior, pero redundante, así que si uno falla, el otro toma el relevo
  • Utilice algún tipo de herramienta de sincronización (rsync, por ejemplo) y aloje los archivos localmente en los servidores web. Luego configure un cronjob para sincronizar los archivos entre los servidores en un intervalo específico.
  • Utilice una CDN como Amazon S3, Akamai, etc.

Los dos primeros son mejores si tiene muchos archivos nuevos por venir. La tercera sería la solución ideal si no agrega o cambia archivos con tanta frecuencia, ya que los usuarios obtendrán 404 en contenido estático que aún no se ha sincronizado.

La última opción podría ser ideal en muchos sentidos, pero también podría resultar ser la más costosa de las 4. También necesitaría reescribir sus sitios web para admitir esto.

Solución 2:

Otra excelente manera de disminuir la carga en los servidores web y realizar el equilibrio de carga es con squid (es decir, squid3) Configurarlo como un proxy inverso con almacenamiento en caché. Almacenará en caché el contenido estático, como imágenes, etc., ya sea en el HDD (predeterminado) o en la RAM (más rápido y mejor) si lo configura de esa manera. También es capaz de operar por turnos con otros servidores Squid si algún nodo en particular está sobrecargado.

Solución 3:

Una solución a este desafío que he empleado es tener la copia principal de lectura/escritura de los archivos en una unidad NFS compartida, pero también mantener una copia de solo lectura en cada servidor web para que una falla del host NFS impida el acceso a los archivos. en modo de solo lectura en lugar de perderlos por completo.

  • Archivos en vivo en el host central, compartidos con hosts web a través del montaje NFS
  • rsync se ejecuta cada 15 minutos para mantener actualizada la copia de solo lectura en cada servidor web.
  • Un check_link El script bash se ejecuta cada minuto para asegurarse de que el montaje NFS todavía esté allí y, si no, cambia un enlace simbólico a la copia de solo lectura.

Se encuentran más detalles en este artículo de cuando configuré este sistema por primera vez.

Ventajas:

  • Las lecturas de archivos tienen una alta disponibilidad
  • No hay condiciones de carrera para escrituras de archivos
  • Los nuevos archivos están disponibles instantáneamente para todos los servidores web.

Desventajas:

  • un poco complejo.
  • la cantidad de copias de solo lectura aumenta con la cantidad de servidores web, lo que podría ser excesivo si tiene más de dos.
  • Las escrituras de archivos no tienen alta disponibilidad.
  • Posibilidad de hasta 1 minuto de tiempo de inactividad antes de cambiar a la copia de solo lectura.

Linux
  1. Cómo transferir archivos entre servidores en Linux usando SCP y FTP

  2. ¿Cómo cambiar la extensión de varios archivos?

  3. ¿Cómo cambiar el nombre de varios archivos usando Buscar?

  4. Cómo cambiar el nombre de varios archivos a la vez en Linux

  5. Cómo copiar una gran cantidad de archivos rápidamente entre dos servidores

Cómo editar varios archivos usando Vim Editor

Cómo descargar archivos desde servidores Linux remotos

Cómo Rsync archivos entre dos servidores Linux automáticamente

Cómo compartir archivos de juegos de Steam entre Linux y Windows

Cómo usar Rsync para copiar/sincronizar archivos entre servidores

¿Cómo compartir archivos entre Ubuntu y Windows 10?