SkyDNS服务发现系统
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的情况下动态注册。
评论
Discoverd服务发现系统
Discoverd是一个简单又强大的服务发现系统,目前基于Etcd,但是也可以使用ZooKeeper或者其它的分布式一致性存储系统。类似Consul和Etcd这样的项目只是提供基础的服务发现功能,但是
Discoverd服务发现系统
0
Skydock自动服务发现系统
Skydock是基于Docker的自动服务发现系统。Skydock监控Docker事件,包括容器启动、停止、消亡、删除等,然后将事件记录写到动态的DNS服务器skydns.
Skydock自动服务发现系统
0