zookeeper学习笔记

学习视频

zookeeper特点

在这里插入图片描述
1)Zookeeper:一个领导者(leader),多个跟锁着(follower)组成的集群。
2)集群中只要有半数以上节点存活,zookeeper集群就能正常服务。
3)全局数据一致:每个server保存一份相同的数据副本,Client无论连接到哪个server,数据都是一致的。
4)更新请求原子性,一次数据更新要么成功,要么失败。
5)实时性,在一定时间范围内,client能读到最新数据。

数据结构

zookeeper数据模型的结构与Unix文件系统很类似,整体上可以看作是一棵树,每个节点称作一个ZNode.每一个Znode默认能够存储1MB的数据,每个ZNode都可以通过其路径唯一标识

应用场景

提供的服务包括:统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等。

1)统一命名服务
在这里插入图片描述
2)统一配置管理
在这里插入图片描述3)统一集群管理
在这里插入图片描述4)服务器动态上下线
在这里插入图片描述5)软负载均衡
在这里插入图片描述

zookeeper内部原理
  • 选举机制(重点)
    1)半数机制:集群中半数以上机器存活,集群可用,所以zookeeper适合奇数安装台服务器
    2)zookeeper虽然在配置文件中并没有指定Master和Slaver。但是,zookeeper工作时,是有一个节点作为leader,其他则为follower,leader是通过内部的选举机制临时产生的
    3)列子:每个服务器刚进来选自己为leader,投票不成功就开始头给别人(myid数值最大的),只要投票的票数超过半数以上,就自动成为leader,只要leader选出来以后,后面的服务器(比如myid更大的)再进来也不会是leader
监听器原理(重点)

1)首先要有一个main()线程
2)在main线程中创建Zookeeper客户端,这时就会创建两个线程,一个负责网络连接通信(connect),一个负责监听(listener)。
3)通过connect线程将注册的监听事件发送给zookeeper
4)在zookeeper的注册监听列表中将注册的监听事件添加到列表中
5)zookeeper监听到有数据或路径变化,就会将这个消息发送给listener线程
6)listener线程内部调用了process()方法
在这里插入图片描述

Zookeeper的部署方式有哪几种?集群中的角色有哪些?集群中最少需要几台机器?

(1)部署方式单机模式、集群模式。
(2)角色:leader ,follower
(3)集群中最少需要机器数:3

Zookeeper的常用命令
ls [path] 查看当前路径包含的节点

ls2 [path] 查看当前节点的详细数据

create /sanguo "jinlian"  创建普通节点

get /sanguo 获得节点的值

create -e /sanguo/wuguo "zhouyu"  创建短暂节点(退出客户端后,该节点自动删除)

create -s /sanguo/weiguo/xiaoqiao "meinv"  创建带序号的节点

set /sanguo/weiguo "simayi"  修改节点数据的值

get /sanguo watch  监听节点的变化

ls /sanguo watch 监听节点子节点变化

delete /sanguo/jin 删除节点

rmr /sangguo/shuguo 递归删除节点

stat  /sanguo 查看节点状态

weixin073智慧旅游平台开发微信小程序+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值