文章预览
最近项目涉及系统集群运行时,由于交叉配置,可能引起多台服务器运行时处理同一份数据,所以要用分布式锁控制。 下面就是基于Zk实现的一个分布式锁。 Zookeeper overview Zookeeper给其client呈现的是按层次组织的节点(znode),组织方式与文件系统类型,如下图,每个znode中可以包含一些数据。Zookeeper中有两种类型的znode,Regular和Ephemeral。对于Regular znode,其由client显式的创建和删除;对于Ephemeral znode,其由client创建,可由client显式删除,或当创建该Ephemeral znode的session终止时由zookeeper自动删除。 关于zookeeper中的session,当client连接zookeeper时,会初始化一个session,session有一个超时时间,如在超时时间内,zookeeper没有从client收到任何信息(zookeeper会发状态检测信息),
………………………………