Requisitos: Algunas interfaces de Consul soportan la función de "consulta de bloqueo", que puede evitar la extracción frecuente de datos en Consul; si los datos no cambian, se bloquearán hasta el tiempo especificado antes de responder, y si los datos cambian, la solicitud será respondida inmediatamente.
Muchos endpoints en Consul admiten una función llamada "bloquear consultas". Las consultas de bloqueo se utilizan para esperar posibles cambios mediante encuestas largas. No todos los endpoints soportan bloqueo, pero cada endpoint documenta de forma única su soporte para bloquear consultas en la documentación.
Documentación:El inicio de sesión del hipervínculo es visible.
Interfaces que soportan consultas bloqueantes para consultas de bloque
El encabezado de respuesta devuelve:X-Cónsul-Índice, solicita parámetros de consulta para llevar:índice(Contenido del X-Cónsul-Índice del último encabezado de respuesta)
Este artículo toma como ejemplo la interfaz de consulta de almacenamiento KV, y el documento:El inicio de sesión del hipervínculo es visible., como se muestra en la figura siguiente:
La primera vez no llevas el parámetro de solicitud (o no llevas el valor predeterminado de 0)
Puedes ver que la respuesta se devuelve inmediatamente, y el encabezado de respuesta contiene la información del índice x-consul, como se muestra en la siguiente figura:
Solicita la interfaz de nuevo
Lleva el parámetro de solicitud de índice, puedes ver que la solicitud está bloqueada (por defecto es 5 minutos), y entonces el tiempo de espera por defecto no responde, como se muestra en la figura siguiente:
Modificar el valor de KV durante el proceso de solicitud
Si la función de consulta de bloques se activa para esperar durante el proceso de solicitud, si se modifica el valor de KV, la solicitud responderá inmediatamente, como se muestra en la siguiente figura:
Para llamadas al código .NET/C#, consulte lo siguiente:
Referencia:El inicio de sesión del hipervínculo es visible.
(Fin)
|