Przykład seryjnej konfliktów oparte na subskrypcji typu i priorytety przypisane
Aby zrozumieć, jak rozwiązać konflikty zgodnie z przypisanych wartości priorytetu i czy subskrypcji jest serwer lub subskrypcja kliencka, rozważmy poniższy przykład opisuje serię aktualizacje do wiersza nad kilka synchronizacje korespondencji seryjnej.
Poniżej przedstawiono wartości początkowe priorytet dla witryn cztery podstawowe seryjnej topologia replikacji (jednego wydawcy, dwa subskrybentów z subskrypcjami serwera i jeden abonenta z subskrypcja klient).
Witryny |
Typ |
Wartość priorytetu |
---|---|---|
A |
Publisher |
100.00 |
B |
Server Subscription |
75.00 (przypisana) |
W |
Server Subscription |
50,00 (przypisana) |
D |
Client Subscription |
0,00 (domyślny) |
Faza 1: Wartości początkowe
Początkowo lokacji A ( Wydawca) tworzy wersja jednego z wierszy zawierających wartość = "Nebrasca", który jest replikowany do witryny B, C i d podczas następnej synchronizacji korespondencji seryjnej.Po synchronizacji Oto wartości wiersza.
Witryny |
Wartość priorytetu |
Wartość wiersza |
---|---|---|
(Wydawca) |
100.00 |
Nebrasca |
B (serwer subskrypcji) |
75.00 |
Nebrasca |
C (serwer subskrypcji) |
50.00 |
Nebrasca |
D (subskrypcji klienta) |
0.00 |
Nebrasca |
Faza 2: Wydawcai abonenta z subskrypcji serwera wiersz obu Update
Aktualizacje witryny a wartość wiersza Texas i witryną b aktualizuje wartość wiersza New Jersey.Podczas następnej synchronizacji korespondencji seryjnej, występuje konflikt między lokacjami a i B.Witryna a wins konfliktu.Wartość zwycięzcy konfliktu z witryny a są propagowane do lokacji B, C i D.
Witryny |
Wartość priorytetu |
Wartość wiersza |
---|---|---|
(Wydawca) |
100.00 |
Kontroler Texas |
B (serwer subskrypcji) |
75.00 |
Kontroler Texas |
C (serwer subskrypcji) |
50.00 |
Kontroler Texas |
D (subskrypcji klienta) |
0.00 |
Kontroler Texas |
Faza 3: Wiele zmian w tym samym wierszu
Załóżmy, że witryny c aktualizuje wiersz (zmienia on Karolina Północna) i synchronizuje z Wydawca.Nie jest to konflikt ponieważ c już pomyślnie scalone ostatniej aktualizacji od A (wartość wiersza = "Texas" pomyślnie scalone).Następnie Załóżmy B witrynie aktualizacje wiersza (zmienia on Idaho).
Witryny |
Wartość priorytetu |
Wartość wiersza |
---|---|---|
(Wydawca) |
100.00 |
Karolina Północna |
B (serwer subskrypcji) |
75.00 |
Idaho |
C (serwer subskrypcji) |
50.00 |
Karolina Północna |
D (subskrypcji klienta) |
0.00 |
Kontroler Texas |
Podczas synchronizacji z programem Wydawca lokacji b istnieje konflikt aktualizacji.Ponieważ b i c są subskrypcje serwera i priorytet b jest większa niż C, lokacji b wins konfliktu.Po dwie lokacje są również scalane, wartość b są propagowane do innych subskrybentów.
Witryny |
Wartość priorytetu |
Wartość wiersza |
---|---|---|
(Wydawca) |
100.00 |
Idaho |
B (serwer subskrypcji) |
75.00 |
Idaho |
C (serwer subskrypcji) |
50.00 |
Idaho |
D (subskrypcji klienta) |
0.00 |
Idaho |
Faza 4: Subskrybenci z serwera i klienta subskrypcje obu aktualizacji wiersza
Załóżmy, że witryny d aktualizuje wiersz (zmienia on nowy Meksyk) i synchronizuje z Wydawca.Następnie Załóżmy B witrynie aktualizacje wiersza (zmienia on Kalifornia).
Witryny |
Wartość priorytetu |
Wartość wiersza |
---|---|---|
(Wydawca) |
100.00 |
Nowy Meksyk |
B (serwer subskrypcji) |
75.00 |
Kalifornia |
C (serwer subskrypcji) |
50.00 |
Idaho |
D (subskrypcji klienta) |
0.00 |
Nowy Meksyk |
Podczas synchronizacji z programem Wydawca lokacji b istnieje konflikt aktualizacji.W przeciwieństwie do poprzedniego przykładu ponieważ ma d subskrypcja kliencka, przyjmuje wartość priorytetu Wydawca (witryna A) podczas synchronizacji.Ponieważ priorytet a jest większa niż B, B utraci konfliktu; Wartość wprowadzona początkowo do d wins.(Miał B subskrybent synchronizacji z A, zanim został d subskrybenta, lokacji b byłoby wygrałeś konflikt.) Witryny wygrywasz konflikt d opiera się na Wydawca nie dokonano zmian lub odebranych zmienione od wersja aktualizacji w witrynie d wiersz był ostatnio synchronizowany.Jeśli każdemu subskrybentowi w subskrypcja serwerowa lub innych abonenta z subskrypcja kliencka synchronizuje najpierw regułę najwyższy priorytet lub "pierwszy do serwera WINS Wydawca" następuje.)
Przedstawione tutaj wartości końcowej po zsynchronizowaniu wszystkich witryn.
Witryny |
Wartość priorytetu |
Wartość wiersza |
---|---|---|
(Wydawca) |
100.00 |
Nowy Meksyk |
B (serwer subskrypcji) |
75.00 |
Nowy Meksyk |
C (serwer subskrypcji |
50.00 |
Nowy Meksyk |
D (subskrypcji klienta) |
0.00 |
Nowy Meksyk |
Wartość zamówienia i priorytet synchronizacji określenia wyniku konfliktów, gdy mieszanie subskrypcje serwera i klient w tym samym poziom w topologii sieci.Ten ostatni zestaw aktualizacji pokazują, dlaczego muszą być wykonywane ostrożnie.Mimo że abonent miał wartość priorytetu najniższy trzech abonentów, go wygrane konflikt, ponieważ on zsynchronizowany z programem Wydawca (zakładając zatem wartość priorytetu Wydawca 100,00) pierwszy.Witryny C (subskrypcja serwerowa z wartość priorytetu 50,00) wprowadził Nowy Meksyk zamiast witryny D, lokacji B (subskrypcja serwerowa z wartość priorytetu 75.00) czy wygrał konflikt i wynik byłby w Kalifornii.