Compartilhar via


StateReplicator Interface

public interface StateReplicator

Expõe funções relacionadas à replicação da FabricReplicator classe usada por StateProvider para replicar o estado para garantir alta disponibilidade.

Resumo do método

Modificador e tipo Método e descrição
OperationStream getCopyStream()

Obtém o fluxo de cópia

OperationStream getReplicationStream()

Obtém o fluxo de replicação.

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

Replica as alterações de estado das réplica primárias para as réplicas secundárias e recebe uma confirmação de quorum de que essas alterações de estado foram aplicadas.

void updateReplicatorSettings(ReplicatorSettings settings)

Habilita a modificação das configurações do replicador durante o runtime. A única configuração que pode ser modificada são as credenciais de segurança.

Detalhes do método

getCopyStream

public OperationStream getCopyStream()

Obtém o fluxo de cópia

Retornos:

O CopyStream retornado contém OperationData objetos que implementam Operation. Os OperationData objetos são obtidos do CopyState OperationDataStream que a réplica Primária retorna de getCopyState(SequenceNumber upToSequenceNumber, OperationDataStream copyContext). Quando um réplica é criado e precisa ser atualizado, ele deve obter o CopyStream e começar a enviar, aplicar e reconhecer os objetos Copy que implementam Operation. Em paralelo, o réplica responde às chamadas e getNextAsync(CancellationToken cancellationToken)correspondentesgetCopyContext(). O fluxo fica vazio quando o método retornado Operation é nulo.

getReplicationStream

public OperationStream getReplicationStream()

Obtém o fluxo de replicação.

Retornos:

O ReplicationStream implementa OperationStream. O ReplicationStream contém OperationData objetos que implementam Operation. Os objetos são fornecidos pelo réplica Primário por meio de replicateAsync(OperationData operationData, SequenceNumber sequenceNumber, CancellationToken cancellationToken). Geralmente, um réplica secundário deve enviar getOperationAsync(CancellationToken cancellationToken). Embora o Service Fabric não exija serviços para fazer isso, geralmente os serviços devem transferir todos os OperationData objetos do fluxo de cópia primeiro e, em seguida, transferir operações para fora do fluxo de replicação. Há suporte para a transferência de ambas as cópias em paralelo, mas aumenta a complexidade da aplicação correta de atualizações de estado e é recomendada apenas para serviços avançados. O fluxo fica vazio quando o método retornado Operation é nulo.

replicateAsync

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

Replica as alterações de estado das réplica primárias para as réplicas secundárias e recebe uma confirmação de quorum de que essas alterações de estado foram aplicadas.

Parâmetros:

operationData - Representa a alteração de estado que a réplica Primária deseja replicar.
sequenceNumber - Long, o LSN da operação. Observe que esse é o mesmo valor retornado pela tarefa. Fornecer como um parâmetro out é útil para serviços que desejam preparar a gravação local para confirmação quando a tarefa for concluída.
cancellationToken - Um quorum de gravação de réplicas que foram perdidas. Ele pode ser usado para enviar uma notificação de que a operação deve ser cancelada. Observe que o cancelamento é um aviso e que a operação ainda pode ser concluída mesmo se for cancelada.

Retornos:

Retorna o futuro completo do tipo long, o LSN da operação.

updateReplicatorSettings

public void updateReplicatorSettings(ReplicatorSettings settings)

Habilita a modificação das configurações do replicador durante o runtime. A única configuração que pode ser modificada são as credenciais de segurança.

Parâmetros:

settings - O novo ReplicatorSettings com credenciais atualizadas.

Aplica-se a