Partager via


Exemple de résolution des conflits de fusion en fonction du type d’abonnement et des priorités affectées

Pour comprendre comment les conflits sont résolus en fonction des valeurs de priorité attribuées et si un abonnement est un serveur ou un abonnement client, tenez compte de l’exemple suivant, qui décrit une série de mises à jour d’une ligne sur plusieurs synchronisations de fusion.

Voici les valeurs de priorité initiales pour quatre sites dans une topologie de réplication de fusion de base (un serveur de publication, deux Abonnés avec des abonnements serveur et un Abonné avec un abonnement client).

Site Type Valeur de priorité
A Éditeur 100,00
B Abonnement au serveur 75,00 (attribué)
C Abonnement au serveur 50.00 (affecté)
D Abonnement Client 0.00 (valeur par défaut)

Phase 1 : Valeurs initiales

Initialement, le site A (le serveur de publication) crée une version de la ligne contenant value='Nebraska', qui est répliquée sur sites B, C et D pendant la synchronisation de fusion suivante. Après la synchronisation, voici les valeurs de la ligne.

Site Type Valeur de ligne
A (Éditeur) 100,00 Nebraska
B (Abonnement au serveur) 75,00 Nebraska
C (abonnement au serveur) 50,00 Nebraska
D (Abonnement client) 0,00 Nebraska

Phase 2 : Publisher et l’abonné avec abonnement au serveur mettent tous deux à jour la ligne

Le site A met à jour la valeur de ligne au Texas et le site B met à jour la valeur de ligne au New Jersey. Lorsque la synchronisation de fusion suivante se produit, il existe un conflit entre les sites A et B. Le site A gagne le conflit. La valeur gagnante du conflit du site A est propagée aux sites B, C et D.

Site Valeur de priorité Valeur de ligne
A (Éditeur) 100,00 Texas
B (Abonnement au serveur) 75,00 Texas
C (abonnement au serveur) 50,00 Texas
D (Abonnement client) 0,00 Texas

Phase 3 : Modifications multiples apportées à la même ligne

Supposons que le site C mette à jour la ligne (en la remplaçant par Caroline du Nord) et se synchronise avec Publisher. Ce n’est pas un conflit, car C a déjà fusionné la dernière mise à jour à partir d’A (avec la valeur de ligne ='Texas' fusionnée avec succès). Supposons ensuite que le site B met à jour la ligne (la remplace par Idaho).

Site Valeur de priorité Valeur de ligne
A (Éditeur) 100,00 Caroline du Nord
B (Abonnement au serveur) 75,00 Idaho
C (abonnement au serveur) 50,00 Caroline du Nord
D (Abonnement client) 0,00 Texas

Lorsque le site B se synchronise avec l'Éditeur, il existe un conflit de mise à jour. Étant donné que B et C sont des abonnements serveur et que la priorité de B est supérieure à celle de C, le site B gagne le conflit. Une fois les deux autres sites fusionnés, la valeur de B est propagée aux autres Abonnés.

Site Valeur de priorité Valeur de ligne
A (Éditeur) 100,00 Idaho
B (Abonnement au serveur) 75,00 Idaho
C (abonnement au serveur) 50,00 Idaho
D (Abonnement client) 0,00 Idaho

Phase 4 : Les abonnés disposant d’abonnements serveur et client mettent à jour la ligne

Supposons que le site D met à jour la ligne (en la changeant pour "New Mexico") et se synchronise avec l'Éditeur. Supposons ensuite que le site B mette à jour la ligne (en la remplaçant par Californie).

Site Valeur de priorité Valeur de ligne
A (Éditeur) 100,00 Nouveau Mexique
B (Abonnement au serveur) 75,00 Californie
C (abonnement au serveur) 50,00 Idaho
D (Abonnement client) 0,00 Nouveau Mexique

Lorsque le site B se synchronise avec le Publisher, il y a un conflit de mise à jour. Contrairement à l’exemple précédent, étant donné que D a un abonnement client, il suppose la valeur de priorité du serveur de publication (site A) lors de la synchronisation. Étant donné que la priorité d’A est supérieure à celle de B, B perd le conflit ; la valeur initialement entrée dans D l'emporte. (Si l’Abonné B était synchronisé avec A avant que l’Abonné D ne l’ait fait, le site B aurait gagné le conflit.) Le site D gagnant le conflit s’appuie sur le serveur de publication n’ayant pas apporté de modification ou reçu une autre modification depuis la dernière synchronisation de la version de la ligne mise à jour sur le site D. Si un Abonné disposant d’un abonnement serveur ou un autre Abonné avec un abonnement client se synchronise en premier, la règle de la plus haute priorité, ou « premier arrivé chez l’Éditeur gagne », est appliquée.)

Les valeurs finales après la synchronisation de tous les sites sont affichées ici.

Site Valeur de priorité Valeur de ligne
A (Éditeur) 100,00 Nouveau Mexique
B (Abonnement au serveur) 75,00 Nouveau Mexique
C (abonnement au serveur) 50,00 Nouveau Mexique
D (Abonnement client) 0,00 Nouveau Mexique

L’ordre de synchronisation et la valeur de priorité déterminent le résultat des conflits lors du mélange des abonnements serveur et client au même niveau dans votre topologie. Ce dernier ensemble de mises à jour illustre la raison pour laquelle la prudence doit être exercée. Bien que l’Abonné ait la valeur de priorité la plus basse des trois Abonnés, il a remporté le conflit parce qu'il s'est synchronisé en premier avec le Publisher, assumant ainsi la valeur de priorité du Publisher de 100.00. Si le site C (abonnement serveur avec une valeur de priorité de 50,00) est entré au Nouveau Mexique au lieu du site D, le site B (abonnement serveur avec une valeur de priorité de 75,00) aurait gagné le conflit et le résultat aurait été californien.