ZooKeeper
文章平均质量分 90
tomato__
这个作者很懒,什么都没留下…
展开
-
ZooKeeper session管理
ZooKeeper的每个客户端都维护一组服务端信息,在创建连接时由应用指定,客户端随机选择一个服务端进行连接,连接成功后,服务端为每个连接分配一个唯一标识。客户端在创建连接时可以指定溢出时间,客户端会周期性的向服务端发送PING请求来保持连接,当客户端检测到与服务端断开连接后,客户端将自动选择服务端列表中的另一个服务端进行重连。客户端允许应用修改服务端列表,但修改可能导致客户端与服务端的重连。连接状原创 2017-11-17 14:15:35 · 5890 阅读 · 0 评论 -
ZooKeeper监听机制
在ZooKeeper中,所有的读操作(getData,getChildren和exists)都可以设置监听。监听在某些场景下是非常有用的,当你关注某些数据的变化时,如果没有监听,你就只能不断的轮询查看数据是否发生了改变,而监听则可以避免轮询带来的开销。设置监听ZooKeeper的监听事件仅触发一次,监听事件异步通知客户端,并支持多种监听方式。 仅触发一次 当数据改变时,一个监听事件被发送到客户端,原创 2017-11-17 16:39:35 · 5023 阅读 · 0 评论 -
ZooKeeper概述
对于分布式应用的开发,开发者通常需要花费大量的时间和精力解决网络延迟、服务器的不同处理能力、服务器异常重启等带来的问题,除此之外,还要考虑消息如何按序处理、服务器间的资源竞争等,而无法聚焦在具体的应用逻辑上。并且当你耗费大量时间和精力解决这些问题上后,还要面对不同的分布式应用间采用的不同实现导致的管理复杂度上升,难于部署的问题。 ZooKeeper就是为简化分布式系统的构建而诞生的,它最初是Apache Hadoo原创 2017-11-15 16:36:08 · 1933 阅读 · 0 评论 -
ZooKeeper数据一致性
ZooKeeper为存储的数据提供了一致性保证,不管应用从哪个服务端获取数据,都能获取到一致的数据。ZooKeeper内部使用原子广播协议(Zab)作为其一致性复制的核心,并通过对服务端请求的排序达到数据一致性的保障要求。ZooKeeper的数据一致性保障ZooKeeper是高性能、可扩展的,为应用提供了以下的数据一致性保障: 1)顺序一致性 来自客户端的更新将严格按照客户端发送原创 2017-11-30 10:42:04 · 9152 阅读 · 3 评论 -
ZooKeeper使用ACL进行访问控制
ZooKeeper使用ACL控制节点的访问,ACL的实现类似于UNIX文件的访问许可:使用位来控制节点访问的作用域和访问许可。但不同于UNIX文件系统,对于标准的作用域,包括user(文件的拥有者),group和world(其它),ZooKeeper节点没有限制。Zookeeper没有znode的拥有者的概念,取而代之,ACL指定一套id和对应这些id的许可。 注意一个ACL仅和一个特定的znod原创 2017-11-21 13:38:15 · 4694 阅读 · 0 评论 -
ZooKeeper数据模型
ZooKeeper的整体结构使用层级的命名空间,很像一个文件系统,树上的节点称为znode,znode的路径是它的唯一标识,znode存储应用的数据,客户端通过接口获取和更新znode的数据,也可以监听znode的变化。根据应用场景的不同,存在多种不同类型的znode,包括临时节点、序列节点和容器节点。ZooKeeper不使用服务端时间来保序,提供了多种保序的方式。znode每个Znode都维护了一原创 2017-11-16 11:35:29 · 2279 阅读 · 0 评论 -
ZooKeeper集群管理
ZooKeeper服务端可以支持单节点和集群,对于单节点模式,所有客户端都连接到同一个服务端节点执行操作;对于集群模式,ZooKeeper服务端会选举一个leader节点,其它服务端节点与leader相连,并保存相同的数据。每个服务端节点都能处理读操作,但对于写操作,都需要通过leader节点发起。服务端节点管理在集群模式下,ZooKeeper服务端包含以下3种类型的服务端节点: -lea原创 2017-11-22 16:23:46 · 3636 阅读 · 0 评论