域名系统 – 失败转换的最佳CNAME TTL策略

前端之家收集整理的这篇文章主要介绍了域名系统 – 失败转换的最佳CNAME TTL策略前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我最近一直在考虑DNS的TTL.我们有服务器的A记录,然后是面向客户名称的CNAME记录.例如,www.example.com CNAME指向server-01.example.com.如果发生故障,我们在CNAME和A记录上的TTL设置为15分钟.

然而,我觉得这可能不是最佳的.当然应该是A记录是48小时,CNAME是15分钟.如果发生故障,CNAME只会指向server-02.example.com. A记录(理论上应该在很长一段时间内非常愉快地缓存,因为我们使用CNAME作为切换器).

环顾互联网,我发现很多人的CNAME很长,A记录很短:
CNAME and A record have different TTLs. Which one will be cached?

这似乎与任何人想要的相反.问题是,DNS是否以我希望的方式工作,因为如果我需要快速切换服务器,CNAME请求TTL是重要的?

解决方法

假设example.com的顶点A记录.我指着一个破碎的IP地址,我知道的大多数公司都会更改A记录并完全跳过www更改:

>大多数管理员宁愿不为没有www前缀的网站名称密钥用户破坏他们的网站.
>对于那些不信任他们的webapp开发人员在example.com上持续使用www.example.com的管理员来说,这个问题是双重的. (提示:我们大多数人没有)

继续你的linked example,你要比较苹果和橘子.由于well-known apex CNAME problem,网络托管方案中的Apex DNS记录是一个巨大的痛苦.在这种情况下只有两个正确的选择:根据需要更改顶点A记录以将其指向有效的IP,或者您放弃具有顶点记录完全.两者之间的任何一切都是半生不熟的.

所有这些都与此有点不同:如果您依靠手动记录更改来处理服务的高可用性,那么您做错了. Web浏览器命中的IP地址应该是负载均衡器,任播地址,CDN或虚拟主机提供商,如果您自己的服务器场不能,则可以提供此高可用性.如果您确信使用它们的主要应用程序遵循RFC 6724指南(即最流行的Web浏览器),则多个地址记录也可以工作,但许多应用程序是惰性的,只需使用返回的第一个地址记录.

为了论证,让我们根据自己的优点来检查Google’s CNAME chain而不将其置于原始问题的上下文中.这看起来很熟悉,因为它是我原来答案的文字

记录类型在这里是无关紧要的.如果需要经常更改记录,则应该具有非常低的TTL.如果它不需要经常更换,那么它不需要低TTL就可以使用你可以使用的任何东西.

没有人(谷歌除外)可以真正评论为什么谷歌希望ghs.l.google.com IN A的TTL低于指向它的CNAME记录.如果不了解更大的设计,你就无法得出任何结论,而设计决定了你的运动部件.

猜你在找的HTML相关文章