etcd VS Zookeeper vs Consul

2021-09-01  本文已影响0人  一生逍遥一生

从解决配置、服务发现、分布式锁等方面比较ectd、zookeeper、consul、

etcd Zookeeper Consul newSQL(Cloud Spanner,CockroachDB,TiDB)
并发原语 锁定rpc、选举rpc、命令行锁、命令行选举、go实现 curator,java实现 本地锁定API 基本没有
线性读 有时
MVCC 有时
事务 属性对比、读、写 版本锁定、写 属性对比、读、写 sql
修改通知 历史和当前的关键间隔 当前的关键字和目录 当前关键字和前缀 有时使用触发器
用户权限 基于角色的权限 使用ACL 使用ACL 每种DB的都不一样
Http/JSON API 比较少的api
成员重新配置 可以 3.5以后 可以 可以
可靠数据库大小 GB级别 MB级别 MB级别 TB级别以及以上
最小线性延迟 网络RTT 没有线性读 RTT+异步 时钟隔离

etcd是基于复制状态机实现的分布式协调服务。
在读行为上,Zookeeper默认读可能会返回stale data,而etcd使用的线性读,能确保读取到反应集群共识的最新数据。
共识算法上,etcd使用的是raft,zookeeper使用的是Zab。

上一篇下一篇

猜你喜欢

热点阅读