Consul vs Zookeeper vs Etcd vs Eureka

为什么不应该使用ZooKeeper做服务发现 Eureka 更好

,etcd作为一个受到Zookeeper与doozer启发而催生的项目,除了拥有与之类似的功能外,更具有以下4个特点{![引自Docker官方文档]}。

  • 简单:基于HTTP+JSON的API让你用curl命令就可以轻松使用。
  • 安全:可选SSL客户认证机制。
  • 快速:每个实例每秒支持一千次写操作。
  • 可信:使用Raft算法充分实现了分布式。

这里就平时经常用到的服务发现的产品进行下特性的对比,首先看下结论[1]:

FeatureConsulzookeeperetcdeuerka
服务健康检查 服务状态,内存,硬盘等 (弱)长连接,keepalive 连接心跳 可配支持
多数据中心 支持

存储服务

支持 支持 支持
一致性 raft paxos raft
cap ca cp cp ap
使用接口(多语言能力) 支持http和dns 客户端 http/grpc http(sidecar)
watch支持 全量/支持long polling 支持 支持 long polling 支持 long polling/大部分增量
自身监控 metrics metrics metrics
安全 acl /https acl https支持(弱)
spring cloud集成 已支持 已支持 已支持 已支持

东方

[1] 服务发现比较:Consul vs Zookeeper vs Etcd vs Eureka

[2] ETCD 简介 + 使用

[3] 含比较 Eureka的工作原理, 以及它与ZooKeeper的区别

[4] 为什么Eureka比ZooKeeper更适合做服务发现?

[5] zk和eureka的区别(CAP原则)

 
 
原文地址:https://www.cnblogs.com/fei33423/p/7996359.html