Configuration de plusieurs topologies de centres de données

Avec la réplication asynchrone multimaître, vous liez un ensemble de domaines de service de catalogue. Les domaines de service de catalogue connectés sont ensuite synchronisés en utilisant la réplication via les liaisons. Vous pouvez définir les liaisons à l'aide de fichiers de propriétés, lors de l'exécution avec des programmes JMX (Java Management Extensions) ou avec les utilitaires de ligne de commande. Le groupe de liaisons actuel d'un domaine est stocké dans le service de catalogue. Vous pouvez ajouter et supprimer des liens sans redémarrer le domaine de service de catalogue qui héberge la grille de données.

Avant de commencer

  • Voir Planification de plusieurs topologies de centre de données pour plus d'informations sur les topologies de réplication multimaîtres et les considérations de conception. Vous pouvez configurer des liaisons entre les domaines de service de catalogue avec le fichier de propriétés du serveur pour former la topologie lors du démarrage du serveur. Vous pouvez configurer des liaisons lors de l'exécution.
  • Si vous utilisez des chargeurs dans la topologie de réplication multimaître, vous devez planifier la manière dont vous allez gérer des données exactes entre les centres de données. Les méthodes que vous pouvez utiliser varient en fonction de la topologie que vous utilisez. Pour plus d'informations, voir Remarques sur les chargeurs dans une topologie multimaître.

Procédure

Liaison entre deux domaines de service de catalogue

Supposons que vous souhaitiez définir une configuration à deux domaines comportant les domaines de service de catalogue A et B.

Figure 1. Liaison entre les domaines de service de catalogue
Liaison entre les domaines de services des catalogue
Voici le fichier de propriétés du serveur de catalogue dans le domaine A :
domainName=A
foreignDomains=B
B.endPoints=hostB1:2809, hostB2:2809
Voici le fichier de propriétés du serveur de catalogue dans le domaine B. Notez les similitudes entres les deux fichiers de propriétés.
domainName=B
foreignDomains=A
A.endPoints=hostA1:2809,hostA2:2809
Une fois les deux domaines démarrés, toutes les grilles de données ayant les caractéristiques suivantes sont répliquées entre ces domaines.
  • Dispose d'un service de catalogue privé avec un nom de domaine unique
  • A le même nom de grille de données que les autres grilles du domaine
  • A le même nombre de partitions que les autres grilles de données dans le domaine
  • Est une grille de données FIXED_PARTITION (les grilles de données PER_CONTAINER ne peuvent pas être répliquées)
  • A le même nombre de partitions (sans forcément pour autant avoir le même nombre et le même type de fragments réplique)
  • A les mêmes types de données répliqués que les autres grilles du domaine
  • A les mêmes nom de groupe de mappes, noms de mappe et modèles de mappes dynamiques que les autres grilles dans le domaine
La règle de réplication d'un domaine de service de catalogue est ignorée.

L'exemple qui précède montre comment configurer chaque domaine pour qu'il ait un lien vers l'autre domaine, mais, en fait, il suffit de définir un lien dans une seule direction. C'est particulièrement utile lorsqu'on a affaire à des topologies en étoile, la configuration s'en trouve considérablement simplifiée. Le fichier de propriétés du concentrateur ne nécessite pas d'être modifié au fur et à mesure que des noeuds sont ajoutés à la topologie et il suffit que le fichier de chacun de ces noeuds comprenne des informations relatives au concentrateur. De la même manière, dans une topologie en anneau, il suffit que chacun des domaines ait un lien avec le domaine qui le précède et avec celui qui le suit dans l'anneau.

Exemple : topologie en étoile
Figure 2. Topologie en étoile
Topologie en étoile
La topologie avec un concentrateur et quatre domaines A, B, C et D possède des fichiers de propriétés de serveur, comme dans les exemples suivants.
domainName=Hub
La Branche A a les propriétés de serveur suivantes :
domainName=A
foreignDomains=Hub
Hub.endPoints=hostH1:2809, hostH2:2809
La branche B a les propriétés de serveur suivantes :
domainName=B
foreignDomains=Hub
Hub.endPoints=hostH1:2809, hostH2:2809
La branche C a les propriétés de serveur suivantes :
domainName=C
foreignDomains=Hub
Hub.endPoints=hostH1:2809, hostH2:2809
La branche D a les propriétés de serveur suivantes :
domainName=D
foreignDomains=Hub
Hub.endPoints=hostH1:2809, hostH2:2809

Que faire ensuite

Vous pouvez fournir un arbitre de collisions personnalisé pour résoudre les conflits entre les domaines de service de catalogue. Pour plus d'informations, voir Développement d'arbitres personnalisés pour la réplication multi-maître.