Udostępnij za pośrednictwem


Spójność w czasie rzeczywistym

Ze względu na charakter niektórych systemów rozproszonych spójność między żądaniami w czasie rzeczywistym jest trudna do wymuszenia niejawnie. Rozwiązaniem jest umożliwienie obsługi protokołu w postaci wielu tokenów synchronizacji. Tokeny synchronizacji są opcjonalne.

Żądanie początkowe

Aby zagwarantować spójność w czasie rzeczywistym między różnymi wystąpieniami klienta i żądaniami, użyj opcjonalnych Sync-Token nagłówków żądań i odpowiedzi.

Składnia:

Sync-Token: <id>=<value>;sn=<sn>
Parametr Opis
<id> Identyfikator tokenu (nieprzezroczystych)
<value> Wartość tokenu (nieprzezroczyste). Zezwala na ciąg zakodowany w formacie base64.
<sn> Numer sekwencji tokenów (wersja). Wyższa oznacza nowszą wersję tego samego tokenu. Umożliwia lepszą współbieżność i buforowanie klientów. Klient może użyć tylko ostatniej wersji tokenu, ponieważ wersje tokenów są włącznie. Ten parametr nie jest wymagany dla żądań.

Reakcja

Usługa udostępnia Sync-Token nagłówek z każdą odpowiedzią.

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

Kolejne żądania

Każde kolejne żądanie jest gwarantowane w czasie rzeczywistym spójnej odpowiedzi w odniesieniu do podanego Sync-Tokenelementu .

Sync-Token: <id>=<value>

Jeśli pominiesz Sync-Token nagłówek z żądania, usługa może odpowiadać na buforowane dane w krótkim czasie (do kilku sekund), zanim zostanie rozliczenie wewnętrzne. To zachowanie może spowodować niespójne odczyty, jeśli zmiany wystąpiły bezpośrednio przed odczytaniem.

Wiele tokenów synchronizacji

Serwer może odpowiadać za pomocą wielu tokenów synchronizacji dla pojedynczego żądania. Aby zachować spójność w czasie rzeczywistym dla następnego żądania, klient musi odpowiedzieć przy użyciu wszystkich odebranych tokenów synchronizacji. Wiele wartości nagłówków musi być rozdzielonych przecinkami.

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