Изисквания: Някои интерфейси на Consul поддържат функцията "block query", която може да предотврати честото изтегляне на данни в Consul; ако данните не се променят, те ще бъдат блокирани до определения момент преди отговор, а ако данните се променят, заявката ще бъде отговорена веднага.
Много крайни точки в Consul поддържат функция, наречена "блокиращи заявки". Блокиращите заявки се използват за изчакване на потенциални промени чрез дълги анкети. Не всички крайни точки поддържат блокиране, но всяка точка уникално документира своята поддръжка за блокиращи заявки в документацията.
Документация:Входът към хиперлинк е видим.
Интерфейси, които поддържат блокиращи заявки за блокиране на заявки
Заглавието на отговора се връща:X-Consul-Index, заявка за параметри за заявка за пренасяне:индекс(Съдържание на X-Consul-Index в заглавието на последния отговор)
Тази статия взема KV за пример интерфейса за заявка за съхранение и документа:Входът към хиперлинк е видим., както е показано на фигурата по-долу:
Първия път, когато не носиш параметъра за заявка (или носиш стандартната стойност 0)
Можете да видите, че отговорът се връща веднага, а заглавието на отговора съдържа информацията за x-consul-index, както е показано на следващата фигура:
Поискай интерфейса отново
Ако носите параметъра за заявка на индекса, ще видите, че заявката е блокирана (по подразбиране е 5 минути), и тогава стандартното време за чакане няма да отговори, както е показано на фигурата по-долу:
Променете стойността на KV по време на процеса на заявка
Ако функцията Block Query се задейства да чака по време на процеса на заявка, ако стойността на KV бъде променена, заявката ще отговори веднага, както е показано на следната фигура:
За .NET/C# кодови повиквания вижте следното:
Препратка:Входът към хиперлинк е видим.
(Край)
|