SkyDNS 服务发现系统开源项目

我要开发同款
匿名用户2014年03月06日
68阅读
所属分类Google Go、服务器软件、服务发现/注册和协调
授权协议MIT

作品详情

SkyDNS是一个相对新的项目它采用Go语言编写,使用了RAFT用于一致性,并提供了HTTP和DNS两种客户端API.它与Etcd和Spotify的DNS模型有点类似,事实上它采用了和Etcd,go-raft同样的RAFT实现。

SkyDNS服务器聚簇在一起,使用RAFT协议,并选择出一个主服务。SkyDNS服务器暴露不同的结点用于服务注册和发现。

为了注册服务,服务会使用基于HTTP的API创建带有TTL的入口。服务必须周期性地通过心跳报告它们的状态。SkyDNS也使用了SRV记录,但它对记录做了扩展用于支持服务版本、环境和地区。

为了发现,客户端使用DNS并检索它们需要连接的服务的SRV记录。客户端需要实现负载均衡或者失效备援,并且周期性的缓存和刷新服务位置数据。

与Spotify使用DNS不同的是,SkyDNS支持服务的动态注册,并且能够在不依赖像Zookeeper或者Etcd的情况下动态注册。

如果你使用了docker,skydock,你应当去检查一下你的容器与SkyDNS自动的集成。

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论