Zookeeper
K. Bob
多读书,多睡觉;少吃零食,多运动。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Curator连接和重试机制分析
源码分析连接丢失的处理Curator中利用类ConnectionState来管理客户端到ZooKeeper集群的连接状态,其中用到原子布尔型变量来标识当前连接是否已经建立:private final AtomicBoolean isConnected=new AtomicBoolean(false);在事件处理函数中(ConnectionState实现了Watcher接口)修改isConnected的值:@Override public void process(WatchedEven原创 2020-08-30 15:23:30 · 1914 阅读 · 0 评论 -
Curator框架
CuratorCurator中提供了Zookeeper各种应用场景(分布式锁、Master选举机制和分布式计算器等)的抽象封装。项目组件:名称描述RecipesZookeeper典型应用场景的实现,这些实现是基于Curator Framework。FrameworkZookeeper API的高层封装,大大简化Zookeeper客户端编程,添加了例如Zookeeper连接管理、重试机制等。Utilities为Zookeeper提供的各种实用程序。Client原创 2020-08-29 22:40:15 · 752 阅读 · 0 评论 -
ZooKeeper数据存储
Linux下进程间通信的方式:管道(Pipe)及有名管道(named pipe) 管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信信号(Signal) 信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身;linux除了支持Unix早期信号...原创 2020-02-20 20:12:13 · 2886 阅读 · 0 评论 -
ZooKeeper应用场景
ZooKeeper基本概念ZooKeeper集群角色 一个 ZooKeeper 集群同一时刻只会有一个 Leader,其他都是 Follower 或 Observer。ZooKeeper 配置很简单,每个节点的配置文件(zoo.cfg)都是一样的,只有 myid 文件不一样。myid 的值必须是 zoo.cfg中server.{数值} 的{数值}部分。 ZooKeeper 集群的所有机器通过一个 Leader 选举过程来选定一台被称为Leader的机器,Leader服务器为客户端提供读和写服务。F原创 2020-05-31 17:33:13 · 413 阅读 · 0 评论 -
Zookeeper 数据结构
ZooKeeper提供的名称空间非常类似于标准文件系统。ZooKeeper的数据存储是基于节点的,这个节点叫做Znode,Znode的引用方式是路径引用,是由斜线(/)分隔的层级结构,让每一个Znode节点拥有唯一的路径。Znode兼具文件和目录两种特点。既像文件,又像目录一样可以作为路径标识的一部分。Znode维护着:data:Znode存储的数据信息ACL:记录Znode的访问权限stat:包含Znode的各种元数据,比如事务ID、版本号、时间戳、大小等等child:当前节点的子节点引用原创 2020-05-29 11:36:50 · 666 阅读 · 0 评论 -
Zookeeper的数据发布与订阅模式
数据发布/订阅(Publish/Subscribe)系统,即所谓的配置中心,即发布者将数据发布到ZooKeeper的一个或一系列节点上,供订阅者进行数据订阅,进而达到动态获取数据的目的,实现配置信息的集中式管理和数据的动态更新。 Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储, Zookeeper 作用主要是用来维护和监控存储的数据的状态变化,通过监控这些数据状态的变化,从而达到基于数据的集群管理。原创 2020-05-26 12:18:15 · 1408 阅读 · 0 评论 -
ZooKeeper与CAP
CAP理论 根据CAP理论,一个分布式系统不可能同时满足一致性(C:Consistency)、可用性(A:Available)、分区容错性(P:Partition Tolerance)这三个基本需求,最多只能同时满足其中的两项,因为P是必须的,因此往往选择就在CP或者AP中。一致性(C:Consistency) 在分布式环境中,一致性是指数据在多个副本之间是否能够保持数据一致的特性。在一...原创 2020-02-12 16:23:06 · 1734 阅读 · 0 评论 -
ZooKeeper分布式锁
分布式锁是用来控制分布式系统各个节点同步访问共享节点的一种锁机制。排他锁获取锁 在ZooKeeper中通过使用一个ZNode节点来表示一个排他锁。多个客户端并发的在ZooKeeper上创建一个临时节点(临时节点保证获取到锁的客户端挂掉后可以自动释放),如/zs/zookeeperLock/lock。节点的唯一性保证只有一个客户端可以成功创建(成功获取锁)。其他没有成功创建节点的客户端,在/...原创 2019-12-21 00:09:44 · 476 阅读 · 0 评论 -
ZooKeeper保持一致性原理
ZooKeeper作为分布式协调服务,很多分布式的应用都可以基于ZooKeeper来实现分布式锁,服务管理,服务发现,通知订阅等功能。在分布式环境下ZooKeeper如何实现数据的一致性?结构 ZooKeeper是在分布式环境下提供服务的,因此它必须要解决单点问题,因此ZooKeeper是一个主备的结构。ZooKeeper 存在leader,follower,observer三种角色...原创 2019-12-17 13:17:30 · 709 阅读 · 0 评论 -
ZooKeeper 回调机制
ZooKeeper Watch机制 一个ZooKeeper的节点可以被监控,包括这个目录中存储的数据的修改,子节点目录的变化,一旦变化可以通知设置监控的客户端。通过这个特性可以实现的功能包括配置的集中管理,集群管理,分布式锁等等。ZooKeeper Watch机制具有如下特性:一次性的触发器(one-time trigger) 无论是服务端还是客户端,一旦一个Watcher被触发,Z...原创 2019-12-16 15:15:11 · 1768 阅读 · 0 评论 -
ZooKeeper:Connection Loss/Session Expired
会话 ZooKeeper客户端和服务端建立Socket长连接之后,服务器端创建一个session,生成一个全局唯一的会话ID(Session ID)。在SESSION_TIMEOUT时间内,服务器会确定客户端是否正常连接(客户端会定时向服务器发送心跳信息,服务器重置下次SESSION_TIMEOUT时间)。因此,在正常情况下,session一直有效,并且ZooKeeper集群所有机器上都保存这...原创 2019-12-16 10:46:13 · 1979 阅读 · 0 评论 -
Zookeeper选举机制
Leader选举 Leader选举是保证分布式数据一致性的关键所在。当Zookeeper集群中的一台服务器出现以下两种情况之一时,需要进行Leader选举:服务器初始化启动服务器运行期间无法和Leader保持连接。服务器启动时期的Leader选举 若进行Leader选举,则至少需要两台机器,这里选取3台机器组成的服务器集群为例。在集群初始化阶段,当有一台服务器Server1启动时...原创 2019-12-14 23:45:20 · 555 阅读 · 0 评论
分享