ZooKeeper的写数据流程原理

ZooKeeper的写数据流程原理
1、 如果此时server2不同意写数据的请求,此时同意的请求收到多半数以上,说明操作可以进行。此时server2原地自杀,并重新启动从Leader同步数据。

2、不同意书写请求的情况:当server的最新的zxid < Leader的zxid ------> 说明Leader的数据最新,此时同意

​当server的最新的zxid > Leader的zxid ------> 说明sercer的数据最新,此时不同意
------> zxid的差异可能是:网络的延迟、数据的延迟收到。

3、随着Zookeeper的规模的扩大:

数据的读取------>效率高

数据的书写------>效率低(多半数的机器同意才可以操作,为了解决效率低的问题,引进OBVRING没有投票的权力,只有读和写的能力,只有大规模的集群或者跨中心的集群)