Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。通常拿来和zookeeper、etcd这些服务注册与发现的工具进行比较。Consul更像一个“全栈”解决方案,内置了服务注册与发现,具有健康检查、Key/Value存储、多数据中心的功能。
1、开箱即用,方便运维:安装包仅包含一个可执行文件,方便部署,无需其他依赖,与Docker等轻量级容器可无缝配合 。
2、自带ui界面,可以通过web界面直接看到注册的服务,更新K/V。
3、采用GOSSIP协议进行集群内成员的管理和消息的传播,使用和etcd一样的raft协议保证数据的一致性。
Consul提供的四个关键特性:
1、服务发现。提供HTTP和DNS两种发现方式。
2、健康监测。支持多种方式,HTTP、TCP、Docker、Shell脚本定制化监控。
3、KV存储。Key、Value的存储方式。
4、多数据中心。Consul支持多数据中心