Estou procurando uma maneira de atualizar automaticamente as entradas em meu cache caso ele expire.
Por exemplo, example.com tem um TTL de 60, gostaria de atualizá-lo automaticamente se ele expirar, para que quando os usuários consultarem example.com uma nova versão já esteja no cache.
Isso é possível dentro do bind?
Obrigado!
Responder1
BIND
suporta uma técnica chamada prefetch
. Usar o BIND de pré-busca atualizará automaticamente as entradas que estão prestes a expirar. A seguir está a sintaxe da pré-busca.
sudo vim /etc/bind/named.conf.options
...
options {
...
prefetch 2 9;
};
...
Como você pode ver, isso tem dois números, o trigger
(aqui 2) e o eligibility
(aqui 9). Isto diz ao BIND para atualizar as entradas DNS para todas as entradas cujo TTL inicial foi superior a 9 segundos, se o TTL restante cair abaixo de 2 segundos. Assim, ele não atualizará cegamente todas as entradas; em vez disso, monitorará apenas as entradas que tenham um TTL inicial maior que a elegibilidade e, quando o TTL restante dessas entradas cair abaixo do valor de acionamento, ele as atualizará. Os valores de elegibilidade e acionamento estão em segundos.
Então, digamos que example.com tenha um TTL de 60 segundos (ou seja, TTL quando o registro foi obtido). Quero garantir que, se o TTL restante cair abaixo de 10 segundos, a entrada será atualizada. A seguir será minha opção de pré-busca no arquivo de configuração.
prefetch 10 60
Leitura adicional:https://kb.isc.org/article/AA-01122/0
Responder2
Não, não há. O cache foi projetado para "registrar" automaticamente as entradas quando elas são acessadas pela primeira vez para acesso mais rápido posteriormente. Não há ganho de desempenho nas entradas de "pré-armazenamento em cache" como você está descrevendo.