服务发现比较:Consul vs Zookeeper vs Etcd vs Eureka
来源:互联网 发布:电视直播回看软件 编辑:程序博客网 时间:2024/06/07 09:50
这里就平时经常用到的服务发现的产品进行下特性的对比,首先看下结论:
Feature Consul zookeeper etcd euerka 服务健康检查服务状态,内存,硬盘等(弱)长连接,keepalive连接心跳可配支持多数据中心支持———kv存储服务支持支持支持—一致性raftpaxosraft—capcacpcpap使用接口(多语言能力)支持http和dns客户端http/grpchttp(sidecar)watch支持全量/支持long polling支持支持 long polling支持 long polling/大部分增量自身监控metrics—metricsmetrics安全acl /httpsaclhttps支持(弱)—spring cloud集成已支持已支持已支持已支持
- 服务的健康检查
Euraka 使用时需要显式配置健康检查支持;Zookeeper,Etcd 则在失去了和服务进程的连接情况下任务不健康,而 Consul 相对更为详细点,比如内存是否已使用了90%,文件系统的空间是不是快不足了。
- 多数据中心支持
Consul 通过 WAN 的 Gossip 协议,完成跨数据中心的同步;而且其他的产品则需要额外的开发工作来实现;
- KV 存储服务
除了 Eureka ,其他几款都能够对外支持 k-v 的存储服务,所以后面会讲到这几款产品追求高一致性的重要原因。而提供存储服务,也能够较好的转化为动态配置服务哦。
- 产品设计中 CAP 理论的取舍
Eureka 典型的 AP,作为分布式场景下的服务发现的产品较为合适,服务发现场景的可用性优先级较高,一致性并不是特别致命。其次 CA 类型的场景 Consul,也能提供较高的可用性,并能 k-v store 服务保证一致性。 而Zookeeper,Etcd则是CP类型 牺牲可用性,在服务发现场景并没太大优势;
- 多语言能力与对外提供服务的接入协议
Zookeeper的跨语言支持较弱,其他几款支持 http11 提供接入的可能。Euraka 一般通过 sidecar的方式提供多语言客户端的接入支持。Etcd 还提供了Grpc的支持。 Consul除了标准的Rest服务api,还提供了DNS的支持。
- Watch的支持(客户端观察到服务提供者变化)
Zookeeper 支持服务器端推送变化,Eureka 2.0(正在开发中)也计划支持。 Eureka 1,Consul,Etcd则都通过长轮询的方式来实现变化的感知;
- 自身集群的监控
除了 Zookeeper ,其他几款都默认支持 metrics,运维者可以搜集并报警这些度量信息达到监控目的;
- 安全
Consul,Zookeeper 支持ACL,另外 Consul,Etcd 支持安全通道https.
- Spring Cloud的集成
目前都有相对应的 boot starter,提供了集成能力。
总的来看,目前Consul 自身功能,和 spring cloud 对其集成的支持都相对较为完善,而且运维的复杂度较为简单(没有详细列出讨论),Eureka 设计上比较符合场景,但还需持续的完善。
原文:http://luyiisme.github.io/2017/04/22/spring-cloud-service-discovery-products/
- 服务发现比较:Consul vs Zookeeper vs Etcd vs Eureka
- 服务发现比较:Consul vs Zookeeper vs Etcd vs Eureka
- 服务发现比较:Consul vs Zookeeper vs Etcd vs Eureka
- 服务发现:Zookeeper vs etcd vs Consul
- 服务发现:Zookeeper vs etcd vs Consul
- 服务发现:Zookeeper vs etcd vs Consul
- 服务发现:Zookeeper vs etcd vs Consul
- 服务发现:Zookeeper vs etcd vs Consul
- 服务发现:Zookeeper vs etcd vs Consul
- 服务发现:Zookeeper vs etcd vs Consul
- 微服务发现比较:Consul vs Zookeeper vs Etcd vs Eureka
- SpringCloud服务注册中心比较:Consul vs Zookeeper vs Etcd vs Eureka
- SpringCloud服务注册中心比较:Consul vs Zookeeper vs Etcd vs Eureka
- SpringCloud服务注册中心比较:Consul vs Zookeeper vs Etcd vs Eureka
- SpringCloud服务注册中心比较:Consul vs Zookeeper vs Etcd vs Eureka
- 服务发现之zookeeper VS consul VS etcd
- 服务发现:Zookeeper vs etcd
- consul VS zookeeper、etcd、doozerd
- Visual DOM && diff算法实现
- 一台服务器安装运行多个Tomcat及注册服务
- <meta>标签
- idea控制台取消行数限制
- 并查集介绍
- 服务发现比较:Consul vs Zookeeper vs Etcd vs Eureka
- [HDU 6092] Rikka with Subset
- 使用SharedPreferences第二次可以直接展示主页面判断
- Android新特性介绍,ConstraintLayout完全解析
- 排颜色 II -LintCode
- IntelJ IDEA 启动 springBoot ,而不使用 Gradle 启动
- 不要直接使用select * from a,b 因为,原来自动进行了内连接
- 我想,我应该在互联网上留下点什么
- hdoj-1094