Compartir vía


Coherencia en tiempo real

Debido a la naturaleza de algunos sistemas distribuidos, es difícil aplicar de manera implícita la coherencia en tiempo real entre solicitudes. Una solución consiste en permitir la compatibilidad con protocolos mediante varios tokens de sincronización. Los tokens de sincronización son opcionales.

Solicitud inicial

Para garantizar la coherencia en tiempo real entre las distintas instancias y solicitudes de cliente, use los encabezados de solicitud y respuesta Sync-Token opcionales.

Sintaxis:

Sync-Token: <id>=<value>;sn=<sn>
Parámetro Descripción
<id> Id. de token (opaco).
<value> Valor de token (opaco). Admite cadenas codificadas en base64.
<sn> Número de secuencia de token (versión). Un número mayor significa una versión más reciente del mismo token. Permite mejorar el almacenamiento en caché del cliente y la simultaneidad. El cliente puede optar por usar solo la última versión del token, ya que las versiones del token son inclusivas. Este parámetro no es obligatorio para las solicitudes.

Response

El servicio proporciona un encabezado Sync-Token con cada respuesta.

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

Solicitudes siguientes

Todas las solicitudes posteriores tienen garantizada una respuesta coherente en tiempo real con respecto al Sync-Token proporcionado.

Sync-Token: <id>=<value>

Si omite el encabezado Sync-Token en la solicitud, es posible que el servicio responda con los datos en caché durante un breve período de tiempo (hasta unos segundos) antes de que se configuren internamente. Este comportamiento puede producir lecturas incoherentes si ha habido cambios inmediatamente antes de la lectura.

Varios tokens de sincronización

El servidor podría responder con varios tokens de sincronización para una única solicitud. Para mantener la coherencia en tiempo real de la solicitud siguiente, el cliente debe responder con todos los tokens de sincronización recibidos. Cuando hay varios valores de encabezado, se deben separar con comas.

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