从paxos到zookeeper读书笔记(第四章)
来源:互联网 发布:债券承销 知乎 编辑:程序博客网 时间:2024/05/24 05:02
zookeeper提供分布式协调服务,提供诸如统一命名服务、配置管理和分布式锁、分布式消息等分布式的基础服务。zookeeper的zab(zookeeper atomic broadCast),是paxos的一种改进。zookeeper是一个典型的分布式数据一致性的解决方案,分布式应用可以基于zookeeper实现发布\订阅、负载均衡、命名服务、分布式协调\通知、集群管理/master选举、分布式锁、和分布式队列等功能。
zookeeper可以保证各种分布式一致性问题:顺序一致性、原子性、单一视图、可靠性、实时性。
zookeeper的设计目标: 提供简单的数据模型、可以构建集群、顺序访问、高性能。
简单的数据模型:zookeeper提供了一个共享的、树型结构的命名空间来进行相互协调,这些数据结构都存在内存中,可以提高吞吐量。
构建分布式集群:
顺序访问:来自于client的事务,zookeeper都会分配一个全局唯一的递增ID,这个ID反应了客户端执行的顺序。
高性能:zookeeper将全部数据结构存在内存中,并直接服务于客户端的非事务请求。
zookeeper概念:
集群角色
在分布式系统中,典型的应用是master/slave 主从模式的架构,提供全局写操作的节点为master,通过异步复制的节点叫做slave。在zookeeper中,提出了leader、Follower、Observer。follower选举产生leader,observer提供读服务,所以zookeeper适用于读多写少的服务。
回话角色:
回话(session):当zookeeper客户端启动的时候,会与zookeeper建立一个长连接,zookeeper能够通过向client发送心跳检测client的状态,通过zookeeper管理zookeeper的client(zookeeper的client为分布式应用的各个节点)。
数据节点:
在分布式应用中,一个是zookeeper管理的节点即为应用节点-机器节点,另一个节点类型为数据节点-znode,管理zookeeper数据模型的数据单元(zookeeper管理节点的数据)。zookeeper为树型数据模型(Znode Tree) , 通过/分割的路径就是一个ZNode,比如/foo/path1 , 为一个ZNode节点,保存数据内容和属性信息。
版本:
zookeeper存放znode的版本。
watcher:
zookeeper允许用户注册事件,在某个时候触发事件,分配给合适的client执行事件,watcher机制是zookeeper实现分布式协调服务的重要特征。
ACL机制:
zookeeper提供类似linux的权限控制机制。
- 从paxos到zookeeper读书笔记(第四章)
- 从paxos到zookeeper读书笔记(第四章)
- 从paxos到zookeeper读书笔记(第六章)
- 从paxos到zookeeper读书笔记
- Paxos到zookeeper读书笔记(第一章、第二章)
- <从PAXOS到ZOOKEEPER分布式一致性原理与实践>读书笔记-第5章zookeeper安装
- <从PAXOS到ZOOKEEPER分布式一致性原理与实践>读书笔记-第5章zookeeper使用
- 《从Paxos到ZooKeeper》读书笔记--两阶段提交 2PC
- <从PAXOS到ZOOKEEPER分布式一致性原理与实践>读书笔记-paxos算法
- 从Paxos到ZooKeeper-初识ZooKeeper
- <从PAXOS到ZOOKEEPER分布式一致性原理与实践>读书笔记-zookeeper全局唯一id生成
- <从PAXOS到ZOOKEEPER分布式一致性原理与实践>读书笔记-zookeeper分布式锁
- <从PAXOS到ZOOKEEPER分布式一致性原理与实践>读书笔记-ZAB协议
- 从Paxos到ZooKeeper-分布式架构
- 从Paxos到ZooKeeper-一致性协议之Paxos算法
- 从Paxos到ZooKeeper-ZooKeeper安装及简单使用
- <从PAXOS到ZOOKEEPER分布式一致性原理与实践>读书笔记-两阶段提交与三阶段提交
- 从PAXOS到Zookeeper分布式一致性原理与实践
- Python 训练人脸识别模型(3)图像采集及预处理
- Matlab常用函数
- git xcrun: error: invalid active developer path
- UEditor 图片视频上传
- turtlebot gmapping with Hokuyo
- 从paxos到zookeeper读书笔记(第四章)
- HDU 1035 Robot Motion
- vc++ ado访问类 CAdoAcc.h
- 有哪几种方式获得Class类对象(实例)的方法?和对反射的理解和作用?
- Javascript知识点总结
- get和post请求区别
- python XPath表达式基础
- 图形界面
- EJB 事务