由新浪DNS故障想到的——慎用CNAME记录

2012-02-01

近日,新浪因短暂DNS故障导致部分地区无法正常登陆新浪网。作为一个很少登陆新浪网的网友,整个事件对我而言并没有什么影响。不过,这次DNS解析故障倒让我担心起了正在使用的Sina App Engine服务。

照理说,新浪的DNS解析故障和Sina App Engine应该是没有关系的。但是,我注意到一个细节,SAE应用使用的yourname.sinaapp.com域名并不是直接A记录解析成IP地址,或者CNAME(别名记录)到sinaapp.com的某一个二级域名下,而是CNAME到了app.dpool.sina.com.cn!也就是说,对yourname.sinapp.com域名的解析过程实际上是分两个过程完成的——第一个,客户端发起对yourname.sinaapp.com的解析请求,DNS服务器返回一个CNAME记录app.dpool.sina.com.cn;第二个,客户端再发起一个对app.dpool.sina.com.cn的解析请求,DNS服务器进行解析,返回IP地址。

我经过查看发现,sinaapp.com和sina.com.cn使用的是不同的DNS服务器。类似于电路上的串联,两个域名只要有一个解析出现故障,DNS解析即受到影响。好在用户并非直接对域名的DNS服务器请求解析,而是对ISP处的Local DNS发起请求。由于Local DNS具有缓存作用,所以域名DNS服务器的故障并不一定对用户可见。当然,新浪的服务水平毋庸置疑,即使出现了短暂的解析故障,也是在所难免的事情。然而,并非所有的服务商都有新浪这样的服务水平。 阅读全文 »