Krav: Vissa gränssnitt i Consul stöder funktionen "blockfråga", vilket kan förhindra frekvent datautdrag i Consul; om datan inte ändras blockeras den tills den angivna tiden innan svar, och om datan ändras besvaras begäran omedelbart.
Många slutpunkter i Consul stödjer en funktion som kallas "blockeringsfrågor." Blockeringsfrågor används för att vänta på potentiella förändringar med lång polling. Alla slutpunkter stöder inte blockering, men varje slutpunkt dokumenterar unikt sitt stöd för blockeringsfrågor i dokumentationen.
Dokumentation:Inloggningen med hyperlänken är synlig.
Gränssnitt som stödjer blockeringsfrågor för att blockera frågor
Svarshuvudet returnerar:X-Konsul-index, begär att frågeparametrar ska bära:index(X-Consul-Index-innehåll i den senaste svarshuvudet)
Den här artikeln tar KV-lagringsfrågegränssnittet som exempel, och dokumentet:Inloggningen med hyperlänken är synlig., som visas i figuren nedan:
Första gången du inte bär request-parametern (eller har standardvärdet 0)
Du kan se att svaret returneras omedelbart, och svarshuvudet innehåller x-consul-index-informationen, som visas i följande figur:
Begär gränssnittet igen
Bär indexförfrågan, du kan se att förfrågan är blockerad (standard är 5 minuter), och då svarar inte standardväntetiden, som visas i figuren nedan:
Ändra värdet på KV under förfrågningsprocessen
Om Block Query-funktionen aktiveras att vänta under förfrågningsprocessen, kommer förfrågan att svara omedelbart om värdet på KV ändras, som visas i följande figur:
För .NET/C#-kodanrop, se följande:
Hänvisning:Inloggningen med hyperlänken är synlig.
(Slut)
|