理想情况下,各地DNS的缓存时间即为设置的ttl时间,所以可以通过设置ttl时间来控制DNS缓存的时间。ttl时间设置的短,DNS缓存过期快,在机器故障的时候很快切换,对用户的影响小;但是由于ttl设置的太短,缓存很快过期,要经常一层层的问域名的解析情况,DNS解析时间会比较长。以上是理想情况,真实情况下,个别的DNS服务器并不遵从ttl时间,可能有做强制缓存多少时间,我们都没办法控制。
只能使用尽量短的TTL, 毕竟DNS并不是天生为GSLB设计的。
1. LocalDNS和用户可能网络距离很远,我们无法保证这一点,特别是使用固定的DNS设置的用户(比如一些用户设置成8.8.8.8 / 4.4.4.4)。不过现在使用DHCP的用户越来越多了,一般而言local DNS和用户拥有相似的网络延时
2. 某些Local DNS和browser忽略授权DNS的TTL设置,使用固定的dns超时时间。有些browser假如不关闭重启,就不会更新dns cache
但是节点失效的问题,还可以从其它方面解决,比方DNS指向的几个IP都是HA Cluster而并非单机,从节点方面规避节点失效问题
http://www.fangfa.net/html/news/show_news_1_1927.html
本文转自Tenderrain 51CTO博客,原文链接:http://blog.51cto.com/tenderrain/1840013,如需转载请自行联系原作者