简介
Consul是由HashiCorp开发的一个支持多数据中心的分布式服务发现和键值对存储服务的开源软件,被大量应用于基于微服务的软件架构当中。
相较于etcd、zookeeper,consul最大的特点就是:它整合了用户服务发现普遍的需求,开箱即用,降低了使用的门槛,并不需要任何第三方的工具。代码实现上也足够简单。
功能:
- 通过DNS或HTTP,应用能轻易地找到它们依赖的系统
- 提供了多种健康检查方式:http返回码200,内存是否超限,tcp连接是否成功
- kv存储,并提供http api
- 多数据中心,这点是zookeeper所不具备的。
名称 | 优点 | 缺点 | 接口 | 一致性算法 |
---|---|---|---|---|
zookeeper | 1.功能强大,不仅仅只是服务发现2.提供watcher机制能实时获取服务提供者的状态3.dubbo等框架支持 | 1.没有健康检查2.需在服务中集成sdk,复杂度高3.不支持多数据中心 | sdk | Paxos |
consul | 1.简单易用,不需要集成sdk2.自带健康检查3.支持多数据中心4.提供web管理界面 | 1.不能实时获取服务信息的变化通知 | http/dns | Raft |
etcd | 1.简单易用,不需要集成sdk2.可配置性强 | 1.没有健康检查2.需配合第三方工具一起完成服务发现3.不支持多数据中心 | http | Raft |
相关导航
暂无评论...