nsbeta.info的DNS服务器架构

Nsbeta.info的两组DNS服务器:

dwdns1.nsbeta.info.
dwdns2.nsbeta.info.

这个大家可以自己查询到。这2组NS服务器共对应6个IP,其中2个IP位于广东茂名(电信和联通)、2个IP位于广州(电信和联通)、1个IP位于无锡(电信)、还有1个位于郑州(联通)。

这2组NS服务器是工作机,还有一个发布机,属于隐藏的NS服务器。在发布机上,运行着BIND9服务器、MySQL数据库、dnsmapper动态更新程序、DNS API,基于API可以实现Web管理系统及命令行管理程序。在生产机上运行BIND9服务器。架构如下:

工作流程:

(1)   用户通过Web管理系统,或者命令行程序,添加或修改DNS记录。

(2)   Web管理系统或命令行程序,将DNS记录修改请求提交给API。

(3)   API在验证提交的资料合格后,将请求的DNS记录数据插入MySQL。

(4)   dnsmapper是一个异步运行的程序,它监视MySQL的记录,如果有变动,就调用BIND的nsupdate程序,将DNS记录数据,动态更新到发布机的BIND9服务器。

(5)   发布机的BIND9发送Notify消息给所有生产机的BIND9服务器。

(6)   生产机的BIND9接受到Notify消息后,产生Zone Transfer请求,从发布机的BIND9上用IXFR方式更新自己的DNS记录。

上述所有步骤都快速完成,新增的域名生效快,不存在延时。

如下是Web管理系统截图:

如图所示,系统支持电信、联通线路智能解析。

DNS API可以参考DNSbed的API文档:

http://www.dnsbed.com/API.pdf

这个系统承担着每日2000万以上的DNS查询(当然,不是给nsbeta.info这个博客,而是另有他用)。

此条目发表在Common分类目录,贴了标签。将固定链接加入收藏夹。