Requisiti: Alcune interfacce di Consul supportano la funzione "block query", che può impedire frequenti prelievi di dati in Consul; se i dati non cambiano, verranno bloccati fino al tempo specificato prima della risposta, e se i dati cambiano, la richiesta riceverà risposta immediata.
Molti endpoint in Consul supportano una funzione chiamata "blocking queries". Le query bloccanti vengono utilizzate per attendere potenziali cambiamenti tramite long polling. Non tutti gli endpoint supportano il blocco, ma ogni endpoint documenta in modo unico il suo supporto per il blocco delle query nella documentazione.
Documentazione:Il login del link ipertestuale è visibile.
Interfacce che supportano Blocking Query per bloccare query
L'intestazione della risposta restituisce:X-Consul-Indice, richiedere parametri di query da trasportare:indice(Contenuto dell'indice X-Console dell'ultima intestazione di risposta)
Questo articolo prende come esempio l'interfaccia di query di memoria KV e il documento:Il login del link ipertestuale è visibile., come mostrato nella figura sottostante:
La prima volta non porti il parametro di richiesta (o non porti il valore predefinito di 0)
Puoi vedere che la risposta viene restituita immediatamente e che l'intestazione della risposta contiene le informazioni dell'indice x-consul, come mostrato nella figura seguente:
Richiedi di nuovo l'interfaccia
Prendendo il parametro indice della richiesta, puoi vedere che la richiesta è bloccata (il valore predefinito è 5 minuti), e poi il tempo di attesa predefinito non risponderà, come mostrato nella figura sottostante:
Modifica il valore di KV durante il processo di richiesta
Se la funzione Block Query viene attivata per attendere durante il processo di richiesta, se il valore di KV viene modificato, la richiesta risponderà immediatamente, come mostrato nella figura seguente:
Per le chiamate di codice .NET/C#, si riferisce a quanto segue:
Riferimento:Il login del link ipertestuale è visibile.
(Fine)
|