Zookeeper进击之路1(Zookeeper介绍)

zokkeper介绍

zookeeper是什么?

  1. 中间件,提供协调服务
  2. 作用于分布式系统,发挥其优势,可以为大数据和java集群服务

什么是分布式系统?

  1. 对台计算机组成的一个整体,一个整体一直对外并且处理相同的一个请求
  2. 内部每台计算机可以相互通信(rest、rpc)
  3. 客户端到服务端的一次请求到相应结束会经历多台计算机

分布式系统架构图(图片来源于互联网)

Zookeeper的特性

  1. 一致性:数据一致性,数据按照顺序分批次入库
  2. 原子性:事务要么全部成功要么全部失败,不会局部成功和失败
  3. 单一视图:每次对zk的操作都会保存在服务端
  4. 实时性:客户端每次可以读到zk服务端的最新数据

Zookeeper的数据模型

  1. zk的数据模型也可以理解为liunx/unix的文件目录
  2. 每个一点都成为znode,他可以有子节点,也可以有数据
  3. 每个节点分为临时节点和永久节点,临时节点在客户端断开后消失
  4. 每个zk节点都有各自的版本号,可以通过命令行来现实节点信息
  5. 每当节点数据变化时,节点的版本号会累加(乐观锁)
  6. 删除/修改过时节点时版本号过期会报错
  7. 每个zk节点存储的数据不易过大,几K即可
  8. 绩点可以设置acl权限,可以通过权限来限制用户访问

Zookeeper的一些特性和用法

  1. master节点选举(保证zookeeper集群稳定),主节点挂了以后,从节点就会接手工作,并且保证这个节点是唯一的,这也就是所谓的首脑模式,保证集群的一定高可用性
  2. 统一配置文件管理:只需部署一台服务器,就可以把配置的文件同步到所有的服务器
  3. 发布订阅:类似于消息队列MQ,dubbo发布者把数据存在znode上,订阅着会读取到这个数据
  4. 提供分布式锁:分布式环境中不同进程之间争夺资源
  5. 集群管理:集群中确保数据的强一致性
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值