您的位置:首页 > 大数据

Zookeeper官方文档学习笔记

2018-03-23 10:50 375 查看

Zookeeper是一个为分布式应用服务的分布式协作服务:

应用程序可以使用它的服务来同步,维护配置,分组和命名

设计目标:

简洁:分布式程序可以通过namespace协作,zookeeper的数据是存在内存中的,所以可以实现高吞吐和低冗余

重复:zookeeper在一组主机(ensemble)上被复制



这些server彼此知道,Clients连在Server上,并维持一个TCP连接:发送请求、接受回应、查看事件、发送心跳。如果一个server掉线,它的Clients会连接到别的Servers

有序:每个zookeeper stamp更新一个代表所有交易顺序的数字

快速:zookeeper在读取:写入速率 = 10:1时最快

树状结构:

每个节点是一个znode,由路径标识

Znode维护了数据变更的版本号,ACL变化,时间戳

Znode里的数据自动读写,读时会获取到所有的数据,写时会替换所有的数据

临时节点随session创建和销毁

update和watch:

客户端可以watch znodes,当znode改变时watch会被触发和移除

APIs:

create:在树中创建一个节点

delete:删除一个节点

exists:测试一个节点在某地是否存在

get data:从一个node获取数据

set data:给node写数据

get children:获取一个节点的子节点

sync:等待数据propagate



Replicated Database是一个在内存中并包括整棵树的数据库,更新会写入disk,写入也会在存入内存数据库之前序列化到disk

性能调优:



多读少写!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  zookeeper 大数据