PespiCoa 2013-06-24
因为之前工作需要,写了一个DNS服务器,后来维护了半年,公司内部也一直在使用,现在比较稳定了,拿出来跟大家分享。
主要有DNS代理和缓存功能,也可以用hosts风格自定义域名,之前遇到的DNS服务器配置起来都比较复杂,实际上我们自己搭建大多数都是内网或者自己用,根本用不着。我这个默认代理了google的DNS8.8.8.8,启动起来就能用了,不需要什么配置。只支持A记录配置,不过内部DNS算是足够了。
设计方面,当做一个web服务器来写的,也分了connector、container什么的,connector用的是多线程reactor。
缓存用了EhCache,性能还是比较好的。这个程序在我的笔记本上跑到50000qps,超过了BIND和pdnsd。
项目地址:https://github.com/code4craft/blackhole
安装可以用脚本:
curlhttp://code4craft.github.io/blackhole/install.sh|sh
对Java底层有兴趣的可以看看!