zookeeper

  1. zk是一个树形目录服务,是一种分布式协调服务。有以下三种用途:
  • 集群管理(在使用dubbo框架时使用zk作为注册中心)
  • 配置中心(各个服务统一在zk中配置,不需要到项目源码中修改然后重新编译打包)
  • 分布式锁
  1. zk服务端默认占用端口2181,是apache的顶级开源项目之一。
  2. zk客户端基本操作:
    ①:增加节点 create [-e|-s] 路径 [value]
  • -s:表示顺序节点,每个节点名字之后带一串数字。
  • -e:表示临时节点,即当前客户端断开之后再次进行重新连接所创建的节点就会消失。默认为持久性节点
    ②:删除节点 delete 节点路径 或者deleteAll 节点路径
  • 当某个节点下面有子节点时不能使用delete删除成功,只能使用deleteAll删除
    ③:修改节点 set 节点路径 节点值
  • 当新建节点没有设置值时可以使用set命令设置节点的值
    ④:查看节点 ls [-s] 节点路径
  • 不带-s参数时,只能查看到当前节点下面有哪些子节点,带上-s参数时会查看到更详细的信息
  1. watch监听机制:
    使用Curator这种java客户端来实现。由apache提供,不是zk官方提供的api,官方提供的比较难用
  • NodeCache,监听某一个节点
  • PathChildrenCache,监听某一个节点的所有子节点
  • TreeCache,监听某个节点以及它所有的儿子节点
  1. 分布式锁:
    创建临时顺序节点+watch监听机制
    每个获取锁时新建一个临时顺序节点,然后给顺序号比自己小的节点最大的节点添加监听机制,只有当自己监听的顺序节点删除过后,当前线程才能获取到锁,操作完共享资源过后,然后释放锁资源,即删除当前线程在zk中创建的节点。依次类推。。
    6.选举机制:一个leader,多个follower,多个observer(不参与选举)。选举与serverid(serverid越大,越容易选举为leader节点)和dataid(表示数据越新,更新越频繁,越容易选举为leader节点)。选举终止条件,当选举服务器个数超过总个数一半,就停止选举。当以服务器id为1,2,3,4,5时,依次启动,服务器id为3的就获取leader角色。因为服务器集群正常工作需要必须正常工作的单个服务个数超过一半,所以一般都设置为奇数,因为奇数和奇数加一的容错个数是一样的。
  2. zk注册监听原理,首先在一个业务线程中开启两个线程,一个是从connect线程,另一个是listenner线程,首先客户端发送一个注册监听事件到zk服务端的注册监听列表之中,然后服务端监听被监听的某个节点的数据或路径变化(路径变化就是子节点的增删改变化),会发送给listenner线程,程序员可以在listenner线程中做业务处理
全部评论

相关推荐

评论
点赞
收藏
分享
正在热议
# 25届秋招总结 #
439565次浏览 4481人参与
# 春招别灰心,我们一人来一句鼓励 #
41297次浏览 523人参与
# 阿里云管培生offer #
119523次浏览 2219人参与
# 地方国企笔面经互助 #
7904次浏览 18人参与
# 虾皮求职进展汇总 #
113037次浏览 878人参与
# 实习,投递多份简历没人回复怎么办 #
2453508次浏览 34845人参与
# 北方华创开奖 #
107186次浏览 598人参与
# 实习必须要去大厂吗? #
55545次浏览 959人参与
# 同bg的你秋招战况如何? #
74881次浏览 544人参与
# 提前批简历挂麻了怎么办 #
149742次浏览 1975人参与
# 投递实习岗位前的准备 #
1195546次浏览 18545人参与
# 你投递的公司有几家约面了? #
33162次浏览 188人参与
# 双非本科求职如何逆袭 #
661700次浏览 7392人参与
# 机械人春招想让哪家公司来捞你? #
157576次浏览 2267人参与
# 如果公司给你放一天假,你会怎么度过? #
4705次浏览 53人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
11170次浏览 252人参与
# 发工资后,你做的第一件事是什么 #
12320次浏览 60人参与
# 工作中,努力重要还是选择重要? #
35479次浏览 384人参与
# 参加完秋招的机械人,还参加春招吗? #
20062次浏览 240人参与
# 实习想申请秋招offer,能不能argue薪资 #
39188次浏览 314人参与
# 我的上岸简历长这样 #
451841次浏览 8086人参与
# 非技术岗是怎么找实习的 #
155825次浏览 2120人参与
牛客网
牛客企业服务