Requisitos: Algumas interfaces do Consul suportam a função de "consulta de bloqueio", que pode evitar puxadas frequentes de dados no Consul; se os dados não mudarem, eles serão bloqueados até o tempo especificado antes da resposta, e se os dados mudarem, a solicitação será respondida imediatamente.
Muitos endpoints no Consul suportam um recurso chamado "consultas bloqueadoras". Consultas bloqueadoras são usadas para aguardar possíveis mudanças usando longas pesquisas. Nem todos os endpoints suportam bloqueio, mas cada endpoint documenta de forma única seu suporte para consultas de bloqueio na documentação.
Documentação:O login do hiperlink está visível.
Interfaces que suportam Consultas Bloqueantes para Consultas de Bloqueio
O cabeçalho de resposta retorna:X-Consul-Índice, solicite parâmetros de consulta para transportar:índice(Conteúdo do último cabeçalho de resposta no X-Consul-Index)
Este artigo toma a interface de consulta de armazenamento KV como exemplo, e o documento:O login do hiperlink está visível., como mostrado na figura abaixo:
Na primeira vez, você não carrega o parâmetro de solicitação (ou carrega o valor padrão 0)
Você pode ver que a resposta é retornada imediatamente, e o cabeçalho da resposta contém as informações do índice x-consul, como mostrado na figura a seguir:
Solicite a interface novamente
Carregue o parâmetro de solicitação de índice, você pode ver que a solicitação está bloqueada (o padrão é 5 minutos), e então o tempo de espera padrão não responde, como mostrado na figura abaixo:
Modificar o valor de KV durante o processo de solicitação
Se a função de Consulta de Bloco for acionada para esperar durante o processo de solicitação, se o valor de KV for modificado, a solicitação responderá imediatamente, como mostrado na figura a seguir:
Para chamadas de código .NET/C#, consulte o seguinte:
Referência:O login do hiperlink está visível.
(Fim)
|