服务器切换的DNS TTL的可靠性如何?(DNS TTL覆盖)



DNS作为一种在服务器之间切换的机制有多可靠?在TTL较低的情况下,测试似乎很棒,但我想知道这对公共生产系统来说有多可靠?

我对这种策略的担忧是,我不确定DNS记录缓存是否可以被DNS代理覆盖,一些提供商可能会使用它来节省流量。如果我们使用与其他系统的集成(例如,移动网络服务),该怎么办?

虽然我理解符合RFC的DNS是如何工作的,但我实际上不确定投诉网络的总体情况。(DNS rr也适用于分发,但这是专门用于切换的)。

它对大多数观众来说"足够可靠"。

是的,递归DNS解析器确实允许对ttl(例如cache-min-ttl)进行管理覆盖,如果您将其设置得太低,则会违反您的ttl。此外,还有一些软件堆栈在其默认配置中永远缓存记录(Java<1.6)

即使在切换后很长一段时间,您也应该始终为旧主机的一些剩余流量做好准备。不过,根据我的经验,它们大多是写得不好的爬虫。如果您想100%确定不会丢失任何流量,请将所有流量从旧主机代理到新主机。Nginx/Apache可以很容易地做到这一点。

您可以向递归服务器查询将要缓存记录的剩余TTL。重复输入这个,你会看到TTL随着时间的推移而降低:

dig @208.67.222.222 stackoverflow.com

一旦记录过期,它应该从您在区域中配置的TTL开始。

这样,您至少可以针对公共解析器对其进行测试,看看它是否符合您的TTL。

最新更新