zookeeper
相关经验
古笑来
愿今日之所作,可为君行一时方便!
展开
-
zk是什么
什么是zk?zk是一个文件目录,里面只能存储少量的数据。目录中的每一个节点(每一个文件或者文件夹)称之为node。连接上node称之为server或client,server拥有创建node的能力,client有用监听node的能力,我更喜欢称之为连接,因为每一个连接都拥有创建和监听的能力。创建的节点(node)可以是持久的(persistent),server断开连接后不删除;也可以是短暂的(ephemeral),server断开连接后自动删除;创建的节点(node)可以是有序的(sequential)原创 2021-10-21 15:07:44 · 5640 阅读 · 0 评论 -
zk数据的一致性
如何保证数据的一致性 类似两段提交方案整个流程是这样的,lead先发起一个提案,收到半数的ack,然后发起commit。这里面主要有两个问题lead发起一个提案,这个提案还没有放到队列里,自己挂了,在它恢复后,它丢弃这个提案;老lead恢复过来,发现朝代换了,把老朝代没有完成的丢弃,同步新朝代的所有数据发出提案,并放到队列中了,收到了半数的ack,但还没有commit之前lead挂了,如果这个提案到从队列到达了某一个follow,这个提案将被下一个lead恢复;根据举选举原则(代号、事务id、机器i原创 2021-10-21 15:06:37 · 55 阅读 · 0 评论 -
zk选举机制
epoch代数: 当lead死了之后进行选举,每个follow都会推举自己当lead。根据的是代数、事务id、服务器id。代数就是在自己知道的代数上加一原创 2021-10-21 15:05:01 · 88 阅读 · 0 评论 -
zk分布式锁
行业内的比较流行分布式锁是什么?redis(redisson)、 zookeeper(Curator)zookeeper分布式锁没有这些问题么?他的原理是什么?它的原理是在同一个node下创建临时有序(-e -s)的节点,节点会判断自己是否是最小的节点,如果是加锁成功。如果不是进行监听,如果自己前一个节点删除,那么自己就加锁成功。解锁就是删除自己创建的节点。zookeeper的其他应用?集群的元数据存储集群的选举集群节点的上下线监控分布式锁...原创 2021-10-21 14:57:45 · 87 阅读 · 0 评论