Partager via


StateReplicator Interface

public interface StateReplicator

Expose les fonctions liées à la réplication de la FabricReplicator classe qui sont utilisées par StateProvider pour répliquer l’état afin de garantir la haute disponibilité.

Résumé de la méthode

Modificateur et type Méthode et description
OperationStream getCopyStream()

Obtient le flux de copie

OperationStream getReplicationStream()

Obtient le flux de réplication.

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

Réplique les changements d’état de l’réplica principal vers les réplicas secondaires et reçoit un accusé de réception de quorum indiquant que ces modifications d’état ont été appliquées.

void updateReplicatorSettings(ReplicatorSettings settings)

Active la modification des paramètres du réplicaur pendant l’exécution. Le seul paramètre qui peut être modifié est les informations d’identification de sécurité.

Détails de la méthode

getCopyStream

public OperationStream getCopyStream()

Obtient le flux de copie

Retours:

Le CopyStream retourné contient des OperationData objets qui implémentent Operation. Les OperationData objets sont obtenus à partir de l’objet CopyState OperationDataStream que le réplica primaire retourne à partir de getCopyState(SequenceNumber upToSequenceNumber, OperationDataStream copyContext). Lorsqu’une réplica est créée et doit rattraper son retard, elle doit obtenir copyStream et commencer à envoyer, appliquer et accuser réception des objets Copy qui implémentent Operation. En parallèle, le réplica répond aux appels et getNextAsync(CancellationToken cancellationToken)correspondantsgetCopyContext(). Le flux est vide lorsque la méthode retournée Operation est null.

getReplicationStream

public OperationStream getReplicationStream()

Obtient le flux de réplication.

Retours:

ReplicationStream implémente OperationStream. ReplicationStream contient des OperationData objets qui implémentent Operation. Les objets sont fournis par le réplica principal via replicateAsync(OperationData operationData, SequenceNumber sequenceNumber, CancellationToken cancellationToken). En règle générale, un réplica secondaire doit envoyer getOperationAsync(CancellationToken cancellationToken). Bien que Service Fabric n’ait pas besoin de services pour cela, les services doivent généralement transférer tous les OperationData objets hors du flux de copie, puis transférer les opérations hors du flux de réplication. Le transfert à partir des deux copies en parallèle est pris en charge, mais augmente la complexité de l’application correcte des mises à jour d’état et est recommandé uniquement pour les services avancés. Le flux est vide lorsque la méthode retournée Operation est null.

replicateAsync

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

Réplique les changements d’état de l’réplica principal vers les réplicas secondaires et reçoit un accusé de réception de quorum indiquant que ces modifications d’état ont été appliquées.

Paramètres:

operationData - Représente le changement d’état que le réplica principal souhaite répliquer.
sequenceNumber - Long, LSN de l’opération. Notez qu’il s’agit de la même valeur que celle retournée par la tâche. Le fait de le fournir en tant que paramètre out est utile pour les services qui souhaitent préparer l’écriture locale à valider à la fin de la tâche.
cancellationToken - Quorum d’écriture des réplicas qui ont été perdus. Il peut être utilisé pour envoyer une notification indiquant que l’opération doit être annulée. Notez que l’annulation est un avertissement et que l’opération peut toujours être terminée même si elle est annulée.

Retours:

Retourne l’avenir complet de type long, le LSN de l’opération.

updateReplicatorSettings

public void updateReplicatorSettings(ReplicatorSettings settings)

Active la modification des paramètres du réplicaur pendant l’exécution. Le seul paramètre qui peut être modifié est les informations d’identification de sécurité.

Paramètres:

settings - Nouveau ReplicatorSettings avec des informations d’identification mises à jour.

S’applique à