Zookeeper的基础概念是什么


这篇文章主要讲解了“Zookeeper的基础概念是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Zookeeper的基础概念是什么”吧!Zookeeper是一个典型的分布式协调服务,分布式应用程序可以基于它实现数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列等功能。Zookeeper能够保证以下分布式一致性特征:顺序一致性:从同一个客户端发起的事务请求,必须按照发起顺序被应用到Zookeeper中原子性:事务在集群中必须全部成功或者全部失败,不存在部分成功部分失败的情况单一视图:连接集群中的任何一个服务器,得到的数据视图都是一样的可靠性:服务端一旦成功执行了某个事务,该事物引起的服务状态变更将永久保存,除非又有新的事务更新了其状态实时性:这里的实时性不是说一旦事务执行成功,客户端就可以获取最新的数据结,而是Zookeeper保证在一段时间后,可以获取最新的数据简单的数据模型:Zookeeper以数的结构组织数据,类似于目录结构,每一个目录在Zookeeper中成为ZNode,每一个ZNode可以记录少量数据可以构建集群:Zookeeper的集群最好以奇数个数搭建(过半选举),集群中的服务两两建立连接相互通信顺序访问:客户端的更新请求,都会分配一个全局的唯一ID(ZXID)高性能:Zookeeper将全量数据存储在内存中,因此对于读的操作延时非常非常低Zookeeper集群中主要有三种角色:Leader、Follower、O 香港云主机bserver。Leader负责接收客户端的写请求,并将该请求以事务的方式提交给Follower执行。Follower负责接收读请求、参与Leader的选举和过半写成功策略。Observer也负责接收读请求,不需要参与Leader的选举和过半写成功,该角色设计的主要目标是用来在不影响写性能的前提下扩展Zookeeper的读性能。会话指的是客户端和Zookeeper集群建立的连接,假设与客户端相连的服务器宕机,在没有超过sessionTimeout参数设置的前提下能够重新连接上另一台服务器,则之前的会话有效。这里的数据节点除了机器节点之外,指的还是Zookeeper中的ZNode,ZNode以文件目录的形式进行组织。主要有两种形式:持久节点和临时节点。持久节点一旦创建除非手动移除否则不会删除,临时节点和会话的生命周期有关,会话启动创建的临时节点会在会话断开时自动删除。Zookeeper还可以为节点设置SEQUENTIAL属性,被设置了该属性的节点在创建时会自动在节点名后面加一个数字,该数字是由父节点维护的。Zookeeper的每个ZNode都可以存储数据,对应于每一个ZNode,Zookeeper会维护一个叫做Stat的数据结构,Stat记录了这个ZNode的三个数据版本,分别是version(当前ZNode的版本)、cversion(当前ZNode子节点的版本)、aversion (当前ZNode的ACL版本)。Watch机制是Zookeeper里面非常非常重要的一个机制。客户端可以在一些ZNode上注册一些Watcher,当一些特定的事件发生时,Zookeeper服务端会将该事件推送至感兴趣的客户端。Zookeeper采用ACL策略来进行权限控制,主要有以下5种权限:CREATE:创建子节点的权限READ:读取节点数据和子节点列表的权限WRITE:更新节点数据的权限DELETE:删除子节点的权限ADMIN:设置节点ACL的权限感谢各位的阅读,以上就是“Zookeeper的基础概念是什么”的内容了,经过本文的学习后,相信大家对Zookeeper的基础概念是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是开发云,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: netty的原理是什么

这篇文章主要讲解了“netty的原理是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“netty的原理是什么”吧!Netty是一个高性能、异步事件驱动的NIO框架,它提供了对TCP、UDP和文件传输的支持,作…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 08/06 21:42
下一篇 08/06 21:43

相关推荐