Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其余分布式服务注册与发现的方案,Consul的方案更"一站式",内置了服务注册与发现框 架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案,再也不须要依赖其余工具(好比ZooKeeper等)。使用起来也较 为简单。Consul用Golang实现,所以具备自然可移植性(支持Linux、windows和Mac OS X);安装包仅包含一个可执行文件,方便部署,与Docker等轻量级容器可无缝配合。nginx
Consul 的使用场景web
Consul 的优点算法
综合比较, Consul 做为服务注册和配置管理的新星, 比较值得关注和研究.docker
Consul 的角色windows
client: 客户端, 无状态, 将 HTTP 和 DNS 接口请求转发给局域网内的服务端集群.
server: 服务端, 保存配置信息, 高可用集群, 在局域网内与本地客户端通信, 经过广域网与其余数据中心通信. 每一个数据中心的 server 数量推荐为 3 个或是 5 个.网络