GNU/Linux >> Tutoriels Linux >  >> Linux

Comment partager des ressources entre plusieurs serveurs Web ?

Solution 1 :

Il existe plusieurs façons de procéder en fonction de vos besoins.

  • Utiliser un serveur de fichiers central monté avec fx NFS sur les serveurs Web
  • Comme ci-dessus, mais redondant, donc si l'un tombe en panne, l'autre prend le relais
  • Utilisez une sorte d'outil de synchronisation (rsync par exemple) et hébergez les fichiers localement sur les serveurs Web. Configurez ensuite une tâche cron pour synchroniser les fichiers entre les serveurs à un intervalle spécifique.
  • Utilisez un CDN tel qu'Amazon S3, Akamai, etc.

Les deux premiers sont les meilleurs si vous avez beaucoup de nouveaux fichiers à venir. La troisième serait la solution idéale si vous n'ajoutez ou ne modifiez pas les fichiers aussi souvent, car les utilisateurs recevront des 404 sur le contenu statique non encore synchronisé..

La dernière option pourrait être idéale à bien des égards, mais pourrait également s'avérer la plus chère des 4. Vous devrez également réécrire vos sites Web pour prendre en charge cela.

Solution 2 :

Un autre excellent moyen de réduire la charge sur les serveurs Web et d'effectuer un équilibrage de charge consiste à utiliser squid (à savoir squid3). Configurez-le en tant que proxy inverse avec mise en cache. Il mettra en cache le contenu statique tel que les images, etc. sur le disque dur (par défaut) ou sur la RAM (plus rapide et le meilleur) si vous le configurez de cette façon. Il est également capable d'effectuer un round robin vers d'autres serveurs squid si un nœud particulier est surchargé.

Solution 3 :

Une solution à ce défi que j'ai employée est d'avoir la copie principale en lecture/écriture des fichiers sur un lecteur NFS partagé, mais aussi de conserver une copie en lecture seule sur chaque serveur Web afin qu'une défaillance de l'hôte NFS mette l'accès aux fichiers en mode lecture seule plutôt que de les perdre complètement.

  • Fichiers en direct sur l'hôte central, partagés avec les hébergeurs via le montage NFS
  • rsync s'exécute toutes les 15 minutes pour conserver à jour la copie en lecture seule sur chaque hôte Web.
  • Un check_link Le script bash s'exécute toutes les minutes pour s'assurer que le montage NFS est toujours là et si ce n'est pas le cas, échange un lien symbolique vers la copie en lecture seule.

Vous trouverez plus de détails dans cet article sur la première fois que j'ai configuré ce système.

Avantages :

  • Les lectures de fichiers sont hautement disponibles
  • Aucune condition de concurrence pour les écritures de fichiers
  • Les nouveaux fichiers sont instantanément disponibles pour tous les hébergeurs Web.

Inconvénients :

  • un peu complexe.
  • le nombre de copies en lecture seule varie avec le nombre d'hébergeurs Web, ce qui peut être excessif si vous en avez beaucoup plus que deux.
  • Les écritures de fichiers ne sont pas hautement disponibles.
  • Possibilité d'un temps d'arrêt pouvant aller jusqu'à 1 minute avant de passer à la copie en lecture seule.

Linux
  1. Comment transférer des fichiers entre serveurs sous Linux à l'aide de SCP et FTP

  2. Comment changer l'extension de plusieurs fichiers ?

  3. Comment trouver plusieurs chaînes dans des fichiers ? ?

  4. Comment partager des fichiers entre Ubuntu et Mac OS X

  5. Comment copier rapidement un grand nombre de fichiers entre deux serveurs

Comment éditer plusieurs fichiers à l'aide de l'éditeur Vim

Comment télécharger des fichiers à partir de serveurs Linux distants

Comment synchroniser automatiquement des fichiers entre deux serveurs Linux

Comment partager des fichiers de jeu Steam entre Linux et Windows

Comment utiliser Rsync pour copier/synchroniser des fichiers entre des serveurs

Comment partager un fichier entre Ubuntu et Windows 10 ?