Indirekte Synchronisation

Wenn eine Familie aus mehr als zwei Replikaten besteht, kann die Synchronisation indirekt erfolgen. Ein Replikat kann externe Änderungen in Aktualisierungspakete aufnehmen.

Tauscht beispielsweise das Replikat boston_hub Aktualisierungen mit den Replikaten sanfran_hub und bangalore aus, sendet es oplog-Einträge an bangalore, die es zuvor von sanfran_hub erhalten hat. Mit diesen Einträgen lässt sich das Replikat bangalore unter Umständen nicht auf den aktuellen Änderungsstand von sanfran_hub bringen. Das Senden einer Aktualisierung von sanfran_hub an bangalore hingegen würde bangalore auf den aktuellen Stand bringen.

Anmerkung: Wenn ein Replikat von anderen Replikaten in seiner Familie keine Pakete auf direktem Weg empfängt, enthalten die Zeilen für diese Replikate unter Umständen Nullen. Dies ist das erwartete Verhalten.

Tabelle 1 zeigt die Epochennummernmatrix des Replikats boston_hub.

Tabelle 1. Dreizeilige Epochennummernmatrix auf Replikat "boston_hub"
  Operationen mit Ursprung auf "boston_hub" Operationen mit Ursprung auf "bangalore" Operationen mit Ursprung auf "sanfran_hub"
Protokoll des eigenen Status auf boston_hub 950 653 504
Geschätzter Status von sanfran_hub auf boston_hub 912 653 504
Geschätzter Status von bangalore auf boston_hub 709 653 221
Der Inhalt dieser Matrix kann mit dem Befehl lsepoch ausgegeben werden:
multiutil lsepoch -clan telecomm -site boston_hub -family PRODA -user susan -password kennwort
Multiutil: Estimates of the epochs from each site replayed at site ’boston_hub’ (@minuteman):
boston_hub: 950
sanfran_hub: 504
bangalore: 653
Multiutil: Estimates of the epochs from each site replayed at site ’sanfran_hub’ (@goldengate):
boston_hub: 912
sanfran_hub: 504
bangalore: 653
Multiutil: Estimates of the epochs from each site replayed at site ’bangalore’ (@ramohalli):
boston_hub: 709
sanfran_hub: 221
bangalore: 653
Der Befehl syncreplica –export auf der Site in Boston verwendet diese Matrix, um eine Aktualisierung für das Replikat bangalore zu exportieren:
  1. Auf dem Replikat boston_hub beträgt die Anzahl lokaler Operationen 950, und es wird angenommen, dass das Replikat bangalore alle Operationen bis oplog-ID 709 importiert hat.
  2. Bezüglich der Operationen mit Ursprung sanfran_hub hat boston_hub alle Operationen bis oplog-ID 504 importiert und nimmt an, dass bangalore alle Operationen bis oplog-ID 221 importiert hat.
  3. Das Aktualisierungspaket, das boston_hub an bangalore sendet, enthält die Operationen 710 bis 950 von boston_hub und die Operationen 222 bis 504 von sanfran_hub. Die Ausgabe des Befehls lsepoch auf dem Replikat boston_hub sieht nun wie folgt aus:
    multiutil lsepoch -clan telecomm -site boston_hub -family PRODA -user susan -password kennwort
    Multiutil: Estimates of the epochs from each site replayed at site ’boston_hub’ (@minuteman):
    boston_hub: 950
    sanfran_hub: 504
    bangalore: 653
    Multiutil: Estimates of the epochs from each site replayed at site ’sanfran_hub’ (@goldengate):
    boston_hub: 912
    sanfran_hub: 504
    bangalore: 653
    Multiutil: Estimates of the epochs from each site replayed at site ’bangalore’ (@ramohalli):
    boston_hub: 950
    sanfran_hub: 504
    bangalore: 653
Zugehörige Verweise
lsepoch
syncreplica

Feedback