论坛首页 Java企业应用论坛

分享一个Java写的DNS服务器

浏览 8132 次
精华帖 (6) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2013-06-24  
因为之前工作需要,写了一个DNS服务器,后来维护了半年,公司内部也一直在使用,现在比较稳定了,拿出来跟大家分享。

主要有DNS代理和缓存功能,也可以用hosts风格自定义域名,之前遇到的DNS服务器配置起来都比较复杂,实际上我们自己搭建大多数都是内网或者自己用,根本用不着。我这个默认代理了google的DNS 8.8.8.8,启动起来就能用了,不需要什么配置。只支持A记录配置,不过内部DNS算是足够了。

设计方面,当做一个web服务器来写的,也分了connector、container什么的,connector用的是多线程reactor。
缓存用了EhCache,性能还是比较好的。这个程序在我的笔记本上跑到50000qps,超过了BIND和pdnsd。

项目地址:https://github.com/code4craft/blackhole

安装可以用脚本:

            curl http://code4craft.github.io/blackhole/install.sh | sh

对Java底层有兴趣的可以看看!
   发表时间:2013-06-25  
对这方面不甚了解,学习下
0 请登录后投票
   发表时间:2013-06-25  
这个一定要学习一下,一直用python做dns,看看java的。
0 请登录后投票
   发表时间:2013-06-27  
从没想过DNS服务器还能自已写..厉害
0 请登录后投票
   发表时间:2013-07-01  
可以讲下原理吗?
0 请登录后投票
   发表时间:2013-07-01  
挺厉害的,好像在什么地方看到过dns原理的,也希望楼主写几篇文件给大家分享一下。
0 请登录后投票
   发表时间:2013-07-02   最后修改:2013-07-02
原理应该不会比维基百科写的更详细了:http://en.wikipedia.org/wiki/Domain_Name_System,不过是英文的,看过一篇中文的,讲得不错:http://369369.blog.51cto.com/319630/812889

我自己也是边学边写BlackHoleJ的,写的时候也记了一些博客,不过比较琐碎(应该说是相当琐碎!),不过有几篇还算整理了一下有点意思,有兴趣的可以看看:http://my.oschina.net/flashsword/blog?catalog=279271 
0 请登录后投票
   发表时间:2013-07-02   最后修改:2013-07-02
flashsword20 写道
原理应该不会比维基百科写的更详细了:http://en.wikipedia.org/wiki/Domain_Name_System,不过是英文的,看过一篇中文的,讲得不错:http://369369.blog.51cto.com/319630/812889

我自己也是边学边写BlackHoleJ的,写的时候也记了一些博客,不过比较琐碎(应该说是相当琐碎!),不过有几篇还算整理了一下有点意思,有兴趣的可以看看:http://my.oschina.net/flashsword/blog?catalog=279271 


不错,之前在oschina上面看到过你的文章,没想到是lz。
三个地址我给加下链接吧:
http://en.wikipedia.org/wiki/Domain_Name_System
http://369369.blog.51cto.com/319630/812889
http://my.oschina.net/flashsword/blog?catalog=279271


0 请登录后投票
   发表时间:2013-07-02  
链接已补,非常感谢
感觉iteye虽然帖子不太多,但是氛围还是挺不错~
0 请登录后投票
   发表时间:2013-07-02  
flashsword20 写道
链接已补,非常感谢
感觉iteye虽然帖子不太多,但是氛围还是挺不错~

是呀,大部分都来着企业一线,解决的都是实际问题。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics