Manual:$wgLBFactoryConf/fr

Détails
Pour mettre en place une ferme de wikis multi-maîtres, initialisez la classe ici à quelque chose qui peut renvoyer un avec un maître approprié, sur l'appel de. La classe identifiée ici est responsable de lire,  , etc., donc l'écraser peut faire que ces variables globales sont ignorées.

La classe est fournie dans ce but; la configuration pour cette classe est fournie ci-dessous :


 * sectionsByDB
 * Une table correspondance des noms de bases de données et des noms de sections


 * sectionLoads
 * Une table de correspondance à deux dimensions. Pour chaque section, elle donne la liste des noms des serveurs et les ratios de charge associés. Par exemple:


 * serverTemplate
 * Un tableau associatif d'informations de serveur, comme documenté pour . L'hôte, le hostName et les entrées de charge seront écrasées.


 * groupLoadsBySection
 * Une table de correspondance à trois dimensions donnant les ratios de charge des serveurs pour chaque section et groupe. Par exemple:


 * groupLoadsByDB
 * Une table de correspondance à trois dimensions donnant les ratios de charge des serveurs par nom de base de données.


 * hostsByName
 * Une table de noms d'hôtes vers les adresses IP associées.


 * externalLoads
 * Une carte des noms de grappe de stockage externe vers la carte de charge du serveur.


 * externalTemplate
 * Une structure d'information du serveur utilisée pour les serveurs de stockage externe


 * templateOverridesByServer
 * Une table de correspondance à deux dimensions écrasant mainTemplate ou externalTemplate sur une base serveur par serveur.


 * templateOverridesByCluster
 * Une carte 2D écrasant externalTemplate par grappe


 * masterTemplateOverrides
 * Un tableau d'annulation pour mainTemplate et externalTemplate pour tous les serveurs maître.



Valeurs par défaut


Exemples simples


3 wikis utilisant tous Localhost comme serveur de base de données
Voici comment une configuration simple devrait fonctionner, dans laquelle vous avez trois wikis (wikidb1, wikidb2 et wikidb3), qui utilisent tous le même serveur de base de données (mais avec des noms de base différents), et qui ont tous un seul serveur maître qui est le même que votre serveur web (c'est à dire Localhost)



3 wikis utilisant des hôtes différents comme base de données avec une base de données esclave
Disons que votre wik a grossi un peu. Choisissons de séparer maintenant le serveur de base de données du serveur web. Et vous avez un serveur esclave sur lequel vous avez déclaré la réplication. Et maintenant vous mettez wikidb3 sur un serveur complètement séparé.

Donc maintenant disons que nous avons wikidb1 et wikidb2 qui se partagent un serveur maître (db1) et un esclave répliqué (db2). Wikidb3 a sons propre serveur de base de données db3 (et pas d'esclave). Vous auriez quelque chose comme ceci :



Configuration de Wikimedia
Pour voir comment Wikimedia utilise  pour configurer ses wikis, voyez:


 * db-production.php

Une grande partie des informations de ce fichier a été enregistrée dans un dépôt etcd (clé - valeur). Pour un exemple plus ancien, voir db-eqiad.php de 2019.

La configuration de Wikimedia utilise aussi.