SkyDNS工作原理是什么


这篇文章主要讲解了“SkyDNS工作原理是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SkyDNS工作原理是什么”吧!SkyDNS2是SkyDNS Version 2.x的统称,其官方文档只有README.md,网上能找到的资料也不多,因此需要我们自行对代码进行一定的分析,才能对其有更好的理解,这就是本文的工作,通过走读SkyDNS的代码,了解其内部架构及其工作原理。SkyDNS Server的工作,依赖后端Key-Value存储的支持。当前支持etcd或etcd3作为Backend(架构图中蓝色部分),为SkyDNS提供配置和数据的管理。通过环境变量ETCD_MACHINES进行etcd cluster的配置,如果Backend为etcd3,还需要设置etcd中/v2/keys//skydns/config/etcd3为true。SkyDNS中有etcd client模块,负责与ETCD_MACHINES的通信。SkyDNS主要对应的etcd key path如下:通过如下环境变量的配置,支持prometheus监控(架构图中棕色部分)。如果想disable prometheus监控,则配置环境变量PROMETHEUS_PORT的值为0即可。如果/v2/keys/skydns/config/nameservers有值,则SkyDNS解析不了的Domain,会forward到对应的这些IP:Port构成的nameservers,由它们进行解析(架构图中绿色部分)。参考官方文档https://github.com/skynetservices/skydns/blob/master/README.md完成参数配置后,便可启动SkyDNS。SkyDNS Server的启动过程如下:创建etcd client对象;dns_addr 和 nameservers参数合法性检查;加载启动参数到etcd,覆盖/v2/keys/skydns/config中原有数据;配置SkyDNS Server参数的default值,并创建SkyDNS server对象;去etcd中加载…/dns/stub//xx数据作为server的stub zones数据,并启动对…/dns/stub/的watcher,一旦有数据更新,就加载到server的stub zones数据中;注册SkyDNS metrics到prometheus;然后在/v2/keys/skydns/config/dns_addr配置的interface和port上开启tcp/udp监听服务并block住,由此开始提供DSN服务。在github.com/skynetservices/skydns/server/server.go中的ServeDNS方法覆盖了开发云主机域名miekg/dns/server中的ServeMux.ServeDNS方法,由自实现的ServeDNS提供来处理DNS client的请求。上面代码逻辑比较复杂,细节上需要你慢慢去理解,简短的可以总结如下:如架构图中标注的线路1:如果在SkyDNS维护的cache中找到对应Msg,则从cache中读取并返回Msg给DNS client;如架构图中标注的线路2:如果在cache中没有对应的记录,并且是需要DNS forward的场景(比如name匹配到stub zones等),则将请求forward到对应的DNS servers进行处理;如架构图中标注的线路3:如果在cache中没有对应的记录,并且Question Type为A/AAAA,SRV等类型时,就通过etcd client去etcd cluster中获取对应的Rule,并构造Msg返回。感谢各位的阅读,以上就是“SkyDNS工作原理是什么”的内容了,经过本文的学习后,相信大家对SkyDNS工作原理是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是开发云,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: openstack学习-理解存储管理

openstack中存储可以分为两类,如下图所示:目前openstack支持三种类型的持久存储:块存储、对象存储和文件系统存储因为目前Manila使用较少,重点为CInder和SwiftCinder在OpenStack中的位置和作用Cinder的核心功能是对卷…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 05/17 19:04
Next 05/17 19:04

相关推荐