人人都是分布式专家_raft paxos zab 个人渣记录仅为自己搜索用的博客-优快云博客
为什么不应该使用ZooKeeper做服务发现 Eureka 更好
- 官方提供web管理界面, etcd 无此功能.
综合比较, Consul 作为服务注册和配置管理的新星, 比较值得关注和研究.
目前业内有很多这种产品:zookeeper、etcd、consul,三者各有各的特点。这里就不一一说明三者的优缺,仅仅分析consul的优势
1.封装了服务发现的api,开发调用非常简单
2.提供了健康检查功能
3.使用了raft算法保证了一致性,比复杂的paxos算法更直接,相比而言,zk采用的是paxos,二etcd采用的是raft
4.支持多数据中心,保证多机房使用。
5.支持 http 和 dns 协议接口.,zookeeper 的集成较为复杂,,etcd 只支持 http 协议
6.官方提供web管理界面, etcd 无此功能
相比 etcd 更全面, 一整套的体系.
相比 etcd 更全面, 一整套的体系.
这里就平时经常用到的服务发现的产品进行下特性的对比,首先看下结论:
Feature | Consul | zookeeper | etcd | euerka |
---|---|---|---|---|
服务健康检查 | 服务状态,内存,硬盘等 | (弱)长连接,keepalive | 连接心跳 | 可配支持 |
多数据中心 | 支持 | — | — | — |
kv存储服务 | 支持 | 支持 | 支持 | — |
一致性 | raft 单向通信,平时同步时会回溯 | zab 新leader需要数据同步,拉数据 | raft | — |
cap | cp | 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集成 | 已支持 | 已支持 | 已支持 | 已支持 |