程序笔记
发布时间:2022-07-18 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了zookeeper篇-初识zookeeper,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_675_1@点赞再看,养成习惯,微信搜索「小大白日志」关注这个搬砖人。
文章不定期同步公众号,还有各种一线大厂面试原题、我的学习系列笔记。
什么是zookeeper?
- 中间件
- 作用于分布式系统
- 支持java、c语言的api
为什么要用zookeeper?
@H_
675_1@没有zookeeper的时候,多台服务器上执行任务我们需要
考虑各台服务器上任务的协调,比如事务A在事务B前面执行,
由于网络的不稳定性,我们必须
考虑到这个问题,但是zookeeper出现后,zookeeper帮我们解决了这部分问题,我们以后不再需要过分专注于分布式协调问题了,我们可以更加专注于业务逻辑的设计。
@H_
675_1@简单来说,就是用户读取到的永远是更新之后的信息以后,用户不会读取到比这个信息更旧的信息。
@H_
675_1@zooKeeper给注册到他下面的所有客户端一个编号,然后让这些机器都拥
有相同的元数据视图,当Master节点挂掉后,马上启用编号最小的那台机器作为Master节点。
- 封装
zooKeeper的目标就是封装好复杂易出错的关键性服务,将复杂低效不稳定的功能封装成简单易用、性能高效、功能稳定的接口提供给用户,提高用户的开发效率
zookeeper命令
@H_
675_1@进入zookeeper安装目录下的bin目录,运行一下命令:
- ./zkServer.sh start:启动zookeeper服务器
./zkServer.sh restart:重启zookeeper服务器
./zkServer.sh status:查看当前zookeeper服务器状态,单机为standalone态
./zkServer.sh stop:停止zookeeper服务器
@H_
675_1@在bin目录下打开zk客户端: 运行./zkCli.sh,然后ls可以查看zookeeper节点结构(节点目录)
zookeeper特性
- 一致性:与Mysql的一致性不同,此指数据按顺序分批入库
- 原子性:所有zookeeper节点对事务的处理,要么全部成功,要么全部失败
- 单一视图:所有zookeeper节点看到的数据是一模一样的
- 可靠性:每次对zookeeper节点的操作都会保存
- 实时性:客户端读取的数据是最新的
zookeeper数据模型
- zookeeper数据模型可以看作tree树结构或linux目录结构
- 每个zk节点有数据、有子节点;每个节点可分为临时节点与永久节点(临时节点session超时或者关闭客户端-服务端连接,则数据丢失,永久节点则不会);每个zk节点有版本号,更新数据时会累加版本号;每个zk节点数据大概几k,不易过大;每个节点都有权限控制列表acr,以控制权限
zookeeper有什么用?
@H_159_11@master选举:主节点挂了之后,会重新进行主节点选举
- 统一修改配置/信息:把对配置/信息的修改部署到任一台服务器,其他服务器会同步该修改操作
- 发布于订阅:发布者把信息存在znode上(tree树结构),订阅者可以去读取该修改
- 提供分布式锁:不同zk服务节点对同一个资源进行操作,则zk节点按顺序获取该资源的分布式锁,再进行操作
@H_675_1@OK,如果文章哪里有错误或不足,欢迎各位留言。
创作不易,各位的「三连」是二少创作的最大动力!我们下期见!
大佬总结
以上是大佬教程为你收集整理的zookeeper篇-初识zookeeper全部内容,希望文章能够帮你解决zookeeper篇-初识zookeeper所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。