Delen via


Realtime-consistentie

Vanwege de aard van sommige gedistribueerde systemen is realtime consistentie tussen aanvragen moeilijk impliciet af te dwingen. Een oplossing is om protocolondersteuning in de vorm van meerdere synchronisatietokens toe te staan. Synchronisatietokens zijn optioneel.

Eerste aanvraag

Gebruik optionele Sync-Token aanvraag- en antwoordheaders om realtime consistentie tussen verschillende clientexemplaren en -aanvragen te garanderen.

Syntaxis:

Sync-Token: <id>=<value>;sn=<sn>
Parameter Beschrijving
<id> Token-id (ondoorzichtig)
<value> Tokenwaarde (ondoorzichtig). Hiermee staat u base64 gecodeerde tekenreeks toe.
<sn> Tokenvolgnummer (versie). Hoger betekent een nieuwere versie van hetzelfde token. Zorgt voor betere gelijktijdigheid en clientcaching. De client kan ervoor kiezen om alleen de laatste versie van het token te gebruiken, omdat tokenversies inclusief zijn. Deze parameter is niet vereist voor aanvragen.

Antwoord

De service biedt een Sync-Token header bij elk antwoord.

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

Volgende aanvragen

Elke volgende aanvraag is gegarandeerd realtime consistente reactie met betrekking tot de opgegeven Sync-Token.

Sync-Token: <id>=<value>

Als u de Sync-Token header weglaat uit de aanvraag, is het mogelijk dat de service gedurende een korte periode (tot een paar seconden) reageert met gegevens in de cache voordat deze intern wordt opgelost. Dit gedrag kan leiden tot inconsistente leesbewerkingen als er direct voor het lezen wijzigingen zijn opgetreden.

Meerdere synchronisatietokens

De server kan reageren met meerdere synchronisatietokens voor één aanvraag. Om realtime consistentie te behouden voor de volgende aanvraag, moet de client reageren met alle ontvangen synchronisatietokens. Meerdere koptekstwaarden moeten door komma's worden gescheiden.

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