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>