zoukankan      html  css  js  c++  java
  • Zookeeper概述、特点、数据模型

    Zookeeper
    1.Zookeeper概述
    Zookeeper是一个工具,可以实现集群中的分布式协调服务。
    所谓的分布式协调服务,就是在集群的节点中进行可靠的消息传递,来协调集群的工作。
     
    Zookeeper之所以能够实现分布式协调服务,靠的就是它能够保证分布式数据一致性。
    所谓的分布式数据一致性,指的就是可以在集群中保证数据传递的一致性。
     
    Zookeeper能够提供的分布式协调服务包括:数据发布订阅、负载均衡、命名服务、分布式协调/通知、集群管理、分布式锁、分布式队列等功能
     
    2.Zookeeper的特点
    Zookeeper工作在集群中,对集群提供分布式协调服务,它提供的分布式协调服务具有如下的特点:
    顺序一致性
    从同一个客户端发起的事务请求,最终将会严格按照其发起顺序被应用到zookeeper中
    原子性
    所有事物请求的处理结果在整个集群中所有机器上的应用情况是一致的,即,要么整个集群中所有机器都成功应用了某一事务,要么都没有应用,一定不会出现集群中部分机器应用了改事务,另外一部分没有应用的情况。
    单一视图
    无论客户端连接的是哪个zookeeper服务器,其看到的服务端数据模型都是一致的。
    可靠性
    一旦服务端成功的应用了一个事务,并完成对客户端的响应,那么该事务所引起的服务端状态变更将会一直保留下来,除非有另一个事务又对其进行了改变。
    实时性
    zookeeper并不是一种强一致性,只能保证顺序一致性和最终一致性,只能称为达到了伪实时性。
     
    3.zookeeper的数据模型
    zookeepei中可以保存数据,正是利用zookeeper可以保存数据这一特点,我们的集群通过在zookeeper里存取数据来进行消息的传递。
    zookeeper中保存数据的结构非常类似于文件系统。都是由节点组成的树形结构。不同的是文件系统是由文件夹和文件来组成的树,而zookeeper中是由ZNODE来组成的树。
    每一个ZNODE里都可以存放一段数据,ZNODE下还可以挂载零个或多个子ZNODE节点,从而组成一个树形结构。
  • 相关阅读:
    bzoj3109【CQOI2013】新数独
    HDU 1015 Safecracker(第一次用了搜索去遍历超时,第二次用for循环能够了,思路一样的)
    从头认识java-15.1 填充容器(3)-填充Map
    写一个python的服务监控程序
    javaScript定义函数的三种方式&变量的作用域
    android开发中应该注意的问题
    某技术大牛的帖子(android项目总结)
    android命名规范
    GitHub使用教程for Eclipse
    Android内存性能优化(内部资料总结)
  • 原文地址:https://www.cnblogs.com/zpb2016/p/5791632.html
Copyright © 2011-2022 走看看