实验:zk master宕机后,临时节点在新的master上是否存在,结果出人意料

一、实验#

实验说明:3台zk集群,主要验证:master上的客户端,在master上建立临时节点,当master宕机时,其他follower选为主后,临时节点是否存在。

主要是通过此来验证,基于zk的分布式锁是否足够健壮。验证:是否会在master宕机后,存在多个客户端都能拿到分布式锁的情况。

 

二、步骤#

前提:搭建好集群。

我这边共3台机器,ip为:192.168.58.131(leader)  192.168.58.132(follower)  192.168.58.133(follower)

为了显眼,leader的shell屏幕为绿色,每个ip开了2个shell(一个进行zkCli操作,一个方便在外面操作),如下:

 

 

 

 0、先在各自机器上开启zkCli,连接到各自的zk节点#

分别在3台机器上启动zkCli,启动命令如下:

 

1、在master创建临时节点#

 

2、观察follower#

 

 

3、模拟master宕机,观察新选举的leader节点上,临时节点是否存在#

 

观察剩下的两台follower,看看新选举了哪台为leader:

 

 

以上,说明133从follower被提升为leader。

 

接下来,看看133上,临时节点是否存在,可以看到,一开始是存在的:

 

我操作了很多次,接下来这张和上图比较像,但其实不是重复,而是我:手速够快

 

注意下图,过了这么一阵时间后(大概几秒钟左右),临时节点消失了:

 

三、结论

主节点宕机后,其上的会话建立的临时节点,一开始在新的leader上是存在的,过了一会后,消失了。

具体原因,还待研究。




posted @   三国梦回  阅读(947)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
历史上的今天:
2018-08-14 powerDesigner根据sql脚本来逆向生成pdm等模型
点击右上角即可分享
微信分享提示
CONTENTS