zookeeper基本数据模型
    image.png
    zookeeper的数据模型是树形结构,有个固定的根节点为 /,zookeeper模型树的每一层使用 /作为分割,而且只能使用绝对路径查询
    image.png
    使用stat 查看节点状态属性及节点本身信息
    image.png
    image.png
    悲观锁、乐观锁
    悲观锁认为访问资源的冲突是一直存在的,当临界资源被访问时,会对该资源上锁,其他线程无法访问,但这存在问题隐患,假如线程a访问资源,此时资源上锁,如果a发生意外,导致资源一直不被释放,那么就会产生死锁问题,zookeeper可以通过设置节点为临时节点解决悲观锁问题;
    乐观锁认为对资源的访问冲突不是一直存在的,访问过程是CAS(compare-and-swap),具体些就是,当且仅当预期值A与比较值V一致时,新值B才会替换A值,否则do nothing。zookeeper引入version来解决乐观锁问题。