Zk 数据模型

Apollo配置中心源码解析

LD is tigger forever,CG are not brothers forever, throw the pot and shine forever.
Modesty is not false, solid is not naive, treacherous but not deceitful, stay with good people, and stay away from poor people.
talk is cheap, show others the code and KPI, Keep progress,make a better result.
Survive during the day and develop at night。

目录

概 述

Zookeeper作为分布式系统的底层协调服务有着其简单可依靠的数据模型,数据模型加之数据同步、一致性处理和可靠性,在此之上有很多经典的应用,例如,分布式锁、服务器动态上线下感知、主节点选举、数据发布与订阅、负载均衡等等。虽然应用场景很多,但是最根本的还是基于两个核心的服务,1.管理和存储数据结点,2.提供对结点的监听服务。
一.Zookeeper数据模型
  Zookeeper数据模型类似Linux操作系统的文件系统,也是以树的形式来存储。严格来说是一颗多叉树,每个节点上都可以存储数据,每个节点还可以拥有N个子结点,最上层是根节点以“/”来代表。
在这里插入图片描述
  在每个结点上都存储了相应的数据,数据可以是字符串、二进制数。但是默认情况下每个结点的数据大小的上限是1M,这是因为Zookeeper主要是用来协调服务的,而不是存储数据,管理一些配置文件和应用列表之类的数据。虽然可以修改配置文件来改变数据大小的上限,但是为了服务的高效和稳定,建议结点数据不要超过默认值。

可以看到,在Zookeeper中存储的创建的结点和存储的数据包含结点的创建时间、修改时间、结点id、结点中存储数据的版本、权限版本、孩子结点的个数、数据的长度等信息。在创建结点的时候还可以选择临时结点、序列化节点等类型,这在应用时就非常方便了。在后面的应用中会有所体现。

Zookeeper提供了两种客户端,命令行客户端和API客户端,关于命令行客户端的使用可以help一下。
二.Zookeeper典型应用示例

三.总结

通过以上两个例子也可以看出来,不管Zookeeper应用场景再多,业务逻辑再复杂,只要抓住两个核心可以了,1.管理和存储数据结点(小数据量),2.提供对结点的监听服务。只要合理的应用这两个特性就可以很好的使用它,当然任何一个系统都不是简单的一个技术可以完成的,在特定的业务场景下有特定的解决方案,在不同的应用环境和数据压力下也要对Zookeeper及其上下游技术进行调优,这样的话就需要对zk的配置文件和内部实现的算法,选举算法、数据一致性算法等有一定的理解和实践。

小结

管理和存储数据节点(小数据量)。

参考资料和推荐阅读

1.链接: 参考资料.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

执于代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值