Oui, cela est possible et un certain nombre d'agences de presse et d'actualités travaillent avec des approches similaires dans WordPress.
Quel est votre processus éditorial?
L'étape la plus importante est de comprendre votre processus éditorial et le degré de contrôle dont vous avez besoin sur le contenu avant sa mise en ligne.
- par exemple, considérez ces 3 points:
1. Avez-vous besoin d'approbations tierces pour les images?
2. Vous ou votre client devez-vous approuver la copie / les images / la vidéo / la mise en page avant la publication du contenu?
3. Est-ce que vous, les rédacteurs, travaillez sur différentes semaines ou problèmes et planifiez que le contenu soit mis en ligne des semaines à l'avance ...
Si vous avez répondu Oui à l'une de ces questions, alors une seule base de données partagée entre votre serveur Pre-Live / Staging et votre serveur Live n'est pas «possible». Pourquoi demandes-tu? car un nouveau message doit être publié avant de pouvoir être vu par des non-utilisateurs ou des tiers à qui vous ne souhaitez pas également vous connecter. (BTW ... tout est possible avec du temps, de l'argent et des compétences pour personnaliser les rôles d'utilisateur et les niveaux d'accès).
Revenons donc à la solution évolutive WordPress
Le DOMAINE A (vers lequel vont vos clients et visiteurs) devra être dirigé vers un équilibreur de charge HTTP.
L'équilibreur de charge dirigera le trafic client vers l'un des nombreux serveurs Web. Ces serveurs esclaves sont conservés dans LSYNC avec un serveur MASTER.
Idéalement, il devrait y avoir 2 serveurs DB distincts (pour l'équilibrage de la charge des demandes de lecture / écriture et de la mise à l'échelle). Vous pouvez vous attendre à beaucoup de trafic READ de la part des visiteurs, mais vous voulez vous assurer que le trafic WRITE des nouveaux articles, etc. n'interrompt pas vos demandes READ.
Le DOMAINE A peut également être pointé vers un équilibreur de charge HTTPS qui est configuré pour
1. autoriser uniquement le trafic à partir de votre adresse IP Office et 2. FORCE la connexion SSL pour Admin / Login.
Il s'agit d'une modification facile du wp-config.php
fichier.
Voici un diagramme de ce que nous avons construit (avec un certain support de Rackspace)
HyperDB
Au final, nous avons obtenu la configuration HyperDB pour gérer les multiples serveurs et requêtes DB. C'était aussi facile car c'est principalement un plugin avec un long script de configuration.
W3TC W3 Total Cache
Nous avons également obtenu la configuration HyperDB et W3TC .. cela a également pris beaucoup de charge des serveurs DB
La principale raison pour laquelle nous avons utilisé le W3TC était de décharger tout le contenu statique sur Rackspace. La configuration du Content Delivery Network dans le W3TC est également très simple :)