Požiadavky: Niektoré rozhrania Consulu podporujú funkciu "block query", ktorá môže zabrániť častému sťahovaniu dát v Consul; ak sa dáta nezmenia, budú zablokované až do stanoveného času pred odpoveďou, a ak sa dáta zmenia, požiadavka bude okamžite zodpovedaná.
Mnohé endpointy v Consule podporujú funkciu nazývanú "blokovanie dotazov". Blokovacie dotazy sa používajú na čakanie na možné zmeny pomocou dlhého prieskumu. Nie všetky endpointy podporujú blokovanie, ale každý endpoint jedinečne dokumentuje svoju podporu blokovania dotazov v dokumentácii.
Dokumentácia:Prihlásenie na hypertextový odkaz je viditeľné.
Rozhrania podporujúce blokovanie dotazov na blokovanie dotazov
Hlavička odpovede vracia:X-Consul-Index, žiada parametre dotazu na prenášanie:index(Obsah X-Consul-Index v hlavičke poslednej odpovede)
Tento článok uvádza ako príklad rozhrania KV storage query a dokument:Prihlásenie na hypertextový odkaz je viditeľné., ako je znázornené na obrázku nižšie:
Prvýkrát nenesie parameter požiadavky (alebo nenesie predvolenú hodnotu 0)
Vidíte, že odpoveď je okamžite vrátená a hlavička odpovede obsahuje informácie o indexe x-consul, ako je znázornené na nasledujúcom obrázku:
Požiadajte o rozhranie znova
Ak vezmete parameter indexovej požiadavky, uvidíte, že požiadavka je zablokovaná (predvolená doba je 5 minút), a potom predvolená čakacia doba neodpovedá, ako je znázornené na obrázku nižšie:
Modifikujte hodnotu KV počas procesu požiadavky
Ak je funkcia Block Query spustená na čakanie počas procesu požiadavky, ak sa zmení hodnota KV, požiadavka okamžite odpovie, ako je znázornené na nasledujúcom obrázku:
Pre .NET/C# kódové volania sa pozrime na nasledovné:
Referencia:Prihlásenie na hypertextový odkaz je viditeľné.
(Koniec)
|