说我有一个DNS服务器,该服务器配置了一个TTL为5分钟的URL。浏览器会将URL到IP地址的映射缓存5分钟。
但是,如果用户单击该URL的刷新,是否会清除浏览器缓存中的相应条目?浏览器是否会再次在DNS服务器上获取信息?
情况如下:我需要设置一个适当的TTL以避免过多的DNS流量(因此它不应太低),但是在VM故障的情况下,流量应重定向到另一个IP地址(因此它不应该太高)。
如果刷新清除了DNS映射缓存条目,那么我可能选择一个更高的值。
答案 0 :(得分:1)
在浏览器中单击刷新时,如果浏览器中已经存在未过期的缓存DNS条目,则不会再次查询DNS。
如果您的站点比一般情况下依赖DNS故障转移,则DNS的TTL不应超过60秒。请注意,这只是一个建议,而不是一个完整的证明方式,前100个网站中的大多数网站都使用此TTL。
答案 1 :(得分:0)
HTTP和DNS在不同的层上。当用户再次请求一些URL时,没有理由再次进行DNS查询,如果它在缓存中并且没有过期。
DNS本身并不是一个好的故障转移机制。您需要添加某种负载平衡或主/从虚拟IP处理,以在服务器死机的情况下进行“立即”切换。或使用IP选播。简而言之,尽管有很多解决方案,但即使可以利用DNS来发挥优势,但仅靠DNS并不能解决问题。
您需要定义设置中接受的不可用时间量,并根据该时间量,您可以投资设置以实现故障转移的时间/精力/金钱。