首页 > 其他 > 详细

ZooKeeper

时间:2021-03-30 16:13:11      阅读:24      评论:0      收藏:0      [点我收藏+]

1. ZooKeeper 是啥?

分布式数据一致性解决方案. 实现了 数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列这些功能.
本质上是个分布式数据库或者说分布式文件系统. znode类似树状的文件系统.

底层其实只有两个功能, 管理(存储、读取)用户程序提交的数据;为用户程序提交数据节点监听服务。

分布式, 集群 所以高可用;
数据直接在内存中, 所以高吞吐量和低延迟;
“读”多于“写”所以高性能(因为写会同步);
临时节点客户端生命周期有效,持久节点一直有效,所以灵活.

连接

基于Session的Tcp连接, 会话(Session)

数据节点一ZNode

树形结构.
Node有Stat属性,存储了version(当前ZNode的版本), cversion(当前ZNode子节点的版本),aversion(当前ZNode的 ACL 版本, 访问权限列表)

Node的权限借鉴linux, 创建Create,读Read,写Write,删除Delete,管理权限Admin

Zab 协议(Zookeeper Atomic Broadcast)来保持数据的一致性

奇数个集群的原因:因为Zab要求大于1/2的节点正常才算正常, 所以 2(n+1) 和2n+1 都要保证n+1个正常, 2(n+1)比2n+1 多的一个节点没有意义

ZooKeeper

原文:https://www.cnblogs.com/WillingCPP/p/14596737.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!