web-dev-qa-db-fra.com

Mise à jour simultanée de serveurs dans un cluster Web

Nous avons une configuration assez simple d'équilibrage de charge avec 3 serveurs Web derrière un équilibreur de charge connecté au même serveur de base de données et pointant leur dossier wp-content/uploads sur un partage nfs.

Nous avons le premier serveur rsynchronisant les fichiers wordpress sur les 2 autres dans un travail cron pour maintenir les serveurs synchronisés (tout ce que wp-admin utilise est fait sur le premier serveur)

Je me demande quel est le meilleur moyen de mettre à niveau le cluster entier en même temps avec un temps d'immobilisation minimal. Si je mets à jour wordpress sur le premier serveur, le contrôle de version de la base de données va-t-il empêcher les 2 autres serveurs de fonctionner? Ou puis-je simplement mettre à jour le premier serveur puis rsynchroniser les fichiers sans interruption?

2
Willemk

Je ne pense pas que le schéma de base de données ait été modifié de manière aussi radicale que les versions de wordpress sur les box 2 + 3 ne puissent pas être lues à partir de la base de données après la mise à jour de la box 1, mais cela dépend de la version à partir de laquelle vous effectuez la mise à niveau.

Pourquoi ne pas définir un environnement similaire localement et tester le site de mise à niveau 1, tout en essayant de visiter le site 2.

1
Tom

Normalement, il serait plus simple de ne pas exécuter du code potentiellement désynchronisé sur certaines boîtes. Par contre, si les boîtes Web WP ne font que des opérations de lecture, quel est le pire scénario? Que quelques pages affichent des messages d'erreur? Vous souhaiterez probablement avoir les fichiers de code Wordpress localement pour IO performances. Peut-être pourriez-vous pré-déployer la mise à jour dans un répertoire différent et les basculer tous en changeant un lien symbolique sur toutes les boîtes Web?

1
Hubert Nguyen