Partilhar via


Consistência em tempo real

Devido à natureza de alguns sistemas distribuídos, a consistência em tempo real entre pedidos é difícil de aplicar implicitamente. Uma solução é permitir o suporte de protocolos na forma de vários tokens de sincronização. Os tokens de sincronização são opcionais.

Pedido inicial

Para garantir a consistência em tempo real entre diferentes instâncias de cliente e pedidos, utilize cabeçalhos de pedido e resposta opcionais Sync-Token .

Sintaxe:

Sync-Token: <id>=<value>;sn=<sn>
Parâmetro Descrição
<id> ID do token (opaco)
<value> Valor do token (opaco). Permite cadeia codificada base64.
<sn> Número de sequência de tokens (versão). Superior significa uma versão mais recente do mesmo token. Permite uma melhor simultaneidade e colocação em cache do cliente. O cliente pode optar por utilizar apenas a última versão do token, uma vez que as versões do token são inclusivas. Este parâmetro não é necessário para pedidos.

Resposta

O serviço fornece um Sync-Token cabeçalho com cada resposta.

Sync-Token: jtqGc1I4=MDoyOA==;sn=28

Pedidos subsequentes

Qualquer pedido subsequente é garantido uma resposta consistente em tempo real em relação ao fornecido Sync-Token.

Sync-Token: <id>=<value>

Se omitir o Sync-Token cabeçalho do pedido, é possível que o serviço responda com dados em cache durante um curto período de tempo (até alguns segundos), antes de ser resolvido internamente. Este comportamento pode causar leituras inconsistentes se as alterações ocorrerem imediatamente antes da leitura.

Vários tokens de sincronização

O servidor pode responder com vários tokens de sincronização para um único pedido. Para manter a consistência em tempo real para o próximo pedido, o cliente tem de responder com todos os tokens de sincronização recebidos. Vários valores de cabeçalho têm de estar separados por vírgulas.

Sync-Token: <token1-id>=<value>,<token2-id>=<value>