44. Zookeeper 核心思想
Using versions to prevent inconsistencies due to concurrent updates
1
2
3
Client C1 writes the first version of /config
Client C2 reads /config and writes the second version
Client C1 tries to write a change to /config,
but the request fails because the version does not match
1
2
3
Client C1
Client C2
setData /config
x if version==1
Zookeeper
/config
version=1
/config
version=2
getData /config x version==2 setData /config
y if version==2
/config
version=3
/config
version=3
setData /config
z if version==2
Incorrect
version
Failed!
TIME