关于zookeeper

求助大佬们,请问zookeeper到底一致性是什么级别的,都说是CP系统。。但是网上又说能读到还没完成同步的节点(少于一半的那部分)。看了一个星期多,我已经被整懵逼了...#Keep#
全部评论
我的理解zookeeper是最终一致性,不是强一致性。
点赞 回复 分享
发布于 2019-08-12 14:02
zk 粗浅地看过一点用法,学过一点分布式,说一下我的理解.. 不一定对,欢迎讨论。 zk 实现了全序广播。 cap 里的一致性是指线性一致性(强一致性)。 全序广播用日志追加的方式就可以实现线性化写入,此时读取没有线性化语义,这时候的一致性是顺序一致性。 如果想实现线性化语义的读取,可以把读请求也作为日志写入,但这样读性能不太好。还有一些其他的做法:比如以线性化获取最新日志中消息位置,查询位置然后等到该位置之前的所有条目都已经发送给你再读取,zk 的 sync() 就是这么干的。 raft 实现线性化读取也有一些方法.. follower read之类的。
点赞 回复 分享
发布于 2019-08-12 13:13
我说一下我的理解,,不一定对,,,首先改变一下对强一致性这个词语的认识,zookeeper强一致性说的是集群崩溃以后的,leader宕机后新选出的leader会保证在提供对外服务之前,大家的数据版本【“退回”】到一个统一的版本,强一致性说的是这个意思,而不是2pc过程中要等【所有】参与者都回复ack才进入commit阶段才叫强一致性,如果按照2pc的方式,也就是springjta的方式管理事务,那么事务基本上取决于速度最慢的那个参与者,效率是很低的
点赞 回复 分享
发布于 2019-08-12 12:45
其实我也有这个疑问🤔️ 但是应该是强一致性没毛病吧…
点赞 回复 分享
发布于 2019-08-12 12:36

相关推荐

asdasdasdasdas:19岁,不容易啊可能升个本会好点,现在学历歧视太严重了
点赞 评论 收藏
分享
评论
1
7
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务