Freigeben über


StateReplicator Schnittstelle

public interface StateReplicator

Macht replikationsbezogene Funktionen der FabricReplicator -Klasse verfügbar, die von zum Replizieren des StateProvider Zustands verwendet werden, um Hochverfügbarkeit sicherzustellen.

Methodenzusammenfassung

Modifizierer und Typ Methode und Beschreibung
OperationStream getCopyStream()

Ruft den Kopierdatenstrom ab.

OperationStream getReplicationStream()

Ruft den Replikationsdatenstrom ab.

CompletableFuture<SequenceNumber> replicateAsync(OperationData operationData, SequenceNumber sequenceNumber, CancellationToken cancellationToken)

Repliziert Zustandsänderungen vom primären Replikat in die sekundären Replikate und erhält eine Quorumbestätigung, dass diese Zustandsänderungen angewendet wurden.

void updateReplicatorSettings(ReplicatorSettings settings)

Ermöglicht das Ändern von Replikattoreinstellungen während der Laufzeit. Die einzige Einstellung, die geändert werden kann, sind die Sicherheitsanmeldeinformationen.

Details zur Methode

getCopyStream

public OperationStream getCopyStream()

Ruft den Kopierdatenstrom ab.

Gibt zurück:

Der zurückgegebene CopyStream enthält OperationData Objekte, die implementieren Operation. Die OperationData -Objekte werden aus dem CopyState OperationDataStream abgerufen, den das primäre Replikat von getCopyState(SequenceNumber upToSequenceNumber, OperationDataStream copyContext)zurückgibt. Wenn ein Replikat erstellt wird und nachholen muss, sollte es den CopyStream abrufen und mit dem Senden, Anwenden und Bestätigen der Copy-Objekte beginnen, die implementieren Operation. Parallel reagiert das Replikat auf die entsprechenden getCopyContext() Aufrufe und getNextAsync(CancellationToken cancellationToken). Der Stream ist leer, wenn die zurückgegebene Operation Methode NULL ist.

getReplicationStream

public OperationStream getReplicationStream()

Ruft den Replikationsdatenstrom ab.

Gibt zurück:

Der ReplicationStream implementiert OperationStream. Der ReplicationStream enthält OperationData Objekte, die implementieren Operation. Die -Objekte werden vom primären Replikat über replicateAsync(OperationData operationData, SequenceNumber sequenceNumber, CancellationToken cancellationToken)bereitgestellt. Im Allgemeinen sollte ein sekundäres Replikat senden getOperationAsync(CancellationToken cancellationToken). Service Fabric erfordert dies zwar nicht von Diensten, aber im Allgemeinen sollten Dienste zunächst alle OperationData Objekte aus dem Kopierdatenstrom und dann Vorgänge aus dem Replikationsdatenstrom übertragen. Die parallele Übertragung von beiden Kopien wird unterstützt, erhöht jedoch die Komplexität der ordnungsgemäßen Anwendung von Zustandsupdates und wird nur für erweiterte Dienste empfohlen. Der Stream ist leer, wenn die zurückgegebene Operation Methode NULL ist.

replicateAsync

public CompletableFuture replicateAsync(OperationData operationData, SequenceNumber sequenceNumber, CancellationToken cancellationToken)

Repliziert Zustandsänderungen vom primären Replikat in die sekundären Replikate und erhält eine Quorumbestätigung, dass diese Zustandsänderungen angewendet wurden.

Parameter:

operationData - Stellt die Zustandsänderung dar, die das primäre Replikat replizieren möchte.
sequenceNumber - Long, die LSN des Vorgangs. Beachten Sie, dass dies derselbe Wert ist, der von der Aufgabe zurückgegeben wird. Die Bereitstellung als out-Parameter ist für Dienste nützlich, die den lokalen Schreibvorgang vorbereiten möchten, um nach Abschluss der Aufgabe einen Commit auszuführen.
cancellationToken - Ein Schreibquorum von Replikaten, die verloren gegangen sind. Sie kann verwendet werden, um eine Benachrichtigung zu senden, dass der Vorgang abgebrochen werden soll. Beachten Sie, dass der Abbruch eine Empfehlung ist und dass der Vorgang möglicherweise trotzdem abgeschlossen wird, auch wenn er abgebrochen wird.

Gibt zurück:

Gibt "completable future" vom Typ long zurück, die LSN des Vorgangs.

updateReplicatorSettings

public void updateReplicatorSettings(ReplicatorSettings settings)

Ermöglicht das Ändern von Replikattoreinstellungen während der Laufzeit. Die einzige Einstellung, die geändert werden kann, sind die Sicherheitsanmeldeinformationen.

Parameter:

settings - Das neue ReplicatorSettings mit aktualisierten Anmeldeinformationen.

Gilt für: