【问题标题】:Can any caching DNS servers refresh their cache asynchronously?任何缓存 DNS 服务器都可以异步刷新其缓存吗?
【发布时间】:2018-02-14 12:58:26
【问题描述】:

我们运行对延迟敏感的系统。我们发现了延迟的一个重要原因:一些进程正在阻止对远程名称服务器的 DNS 查找。为了缓解这种情况,我们安装了一个本地缓存 DNS 解析器,特别是 dnsmasq。

但我们仍然会偶尔看到对本地 DNS 缓存 (dnsmasq) 的查询可能需要很长时间的显着暂停。这些是由 TTL 到期引起的;在这些情况下,dnsmasq 在响应本地进程之前会查询其上游服务器。

我们也想消除这些停顿。我希望我们的本地 DNS 缓存始终立即响应,即使响应是陈旧的。缓存应异步查询其上游服务器。例如,如果缓存提供过时的响应,它可以异步刷新它。或者更复杂的策略是在 TTL 到期前不久异步刷新缓存。

但我找不到dnsmasq 或我查看过的任何其他缓存 DNS 服务器的任何此类设置。是否有任何 DNS 服务器设计为在此配置中运行?

【问题讨论】:

    标签: caching dns low-latency dnsmasq


    【解决方案1】:

    Knot resolver 配置为 modules = { 'predict' } will start 异步刷新记录,这些记录在其 TTL 接近到期时被放入应答。

    请注意,版本 2.0.0 存在一个错误,该错误会导致没有 DNSSEC 签名的记录无法刷新(将在下一个版本中修复)。

    【讨论】:

    • 谢谢!我以前没听说过结。我得去看看。
    • unbound 也有一个 prefetch 选项可以做到这一点。
    【解决方案2】:

    未绑定的 DNS 服务器也可以通过预取选项来执行此操作 - 是/否。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-29
      • 1970-01-01
      • 2018-08-21
      • 2020-12-18
      • 2013-12-31
      • 1970-01-01
      • 2018-11-17
      • 2022-01-24
      相关资源
      最近更新 更多