consul是一个支持多数据中心分布式高可用服务发现和配置共享的服务软件,由HashiCorp 公司用 Go 语言开发, 基于 Mozilla Public License 2.0 的协议进行开源. . Consul 支持健康检查,并容许 HTTP 和 DNS 协议调用 API 存储键值对.命令行超级好用的管理软件,vgrant 也是 HashiCorp 公司开发的产品.web
一致性协议采用Raft算法,来保证服务的高可用, 使用 GOSSIP 协议管理成员和广播消息, 而且支持 ACL 访问控制.算法
docker实例的注册与配置共享docker
coreos 实例的注册与配置共享api
vitess 集群网络
SaaS 应用的配置共享分布式
与confd服务集成,动态生成ngnix和hapioxy配置文件命令行
使用Raft算法来保证一致性,比复杂的Paxos算法更直接,相比而言,zookeeper采用的是Paxos算法,而etcd使用的是Raftdns
支持多数据中心,内外网的服务采用不一样端口进行监听,多数据中心能够避免单数据中心的单节点故障,而部署能够考虑到网络延迟,分片的状况,zookeeper和etcd均不提供多数据中心的功能。接口
支持健康检查,etcd不提供此功能开发
支持http和dns协议接口,zookeeper的接口比较复杂,etcd只支持http协议,
官方提供web功能,etcd无此功能。
综合比较,Consul做为服务注册,和配置管理的新星。比较值得关注和研究。