Zookeeper底层源码原理分析(一)

1、zk是什么?

它是一个分布式服务框架,是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、集群管理、分布式应用配置项的管理等。它是通过ZAB协议实现的。

(1) zk是一个数据库

其可以存数据(我们可以将其理解为一个数据库)

 ls /(查看根节点)
 create /luban 123(创建数据节点,内容为123)
 get /luban(查询)

注意:
查看子节点时要写明路径
zk中有临时节点,也有持久化节点

(2)zk是一个拥有文件系统特点的数据库

文件系统的目录就是为了更方便的找到文件,或者说定义某个节点的路径;统一命名。

(3)zk是一个解决了数据一致性问题的分布式数据库

<1>一致性
在这里插入图片描述
强一致性
强制要求步骤2读取的时候,一定要读取的是2,不能读取到的是1,那么要求数据库之间同步非常迅速或者在步骤2上加锁(分布式锁)以等待数据同步。

弱一致性
允许步骤2读取的时候,可以读取的是1,其实就是不需要一致

最终一致性
允许步骤2读取的时候,可以先读到1,过一段时间再读到2,那么这种叫最终一致性,就是可以等待一段时间才一致。 最终一致性是我们现在用的最多的,zk保证的就是最终一致性。

注意:
1、如果一个集群需要对

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值