zoukankan      html  css  js  c++  java
  • 3 zookeeper 基本数据模型

    1 zk数据模型介绍

    1. 是一个树形结构,类似于前端开发中的tree.js组件
    2. zk的数据模型也可以理解为linux/unix的文件目录:/usr/local/...
    3. 每一个节点都称之为znode,它可以有子节点,也可以有数据
    4. 每个节点分为临时节点和永久节点,临时节点在客户端断开后消失
    5. 每个zk节点都有各自的版本号,可以通过命令行来显示节点信息
    6. 每当节点数据发生变化,那么该节点的版本号会累加(乐观锁)
    7. 删除/修改过时节点,版本号不匹配则会报错
    8. 每个zk节点存储的数据不宜过大,几K即可
    9. 节点可以设置权限acl,可以通过权限来限制用户的访问

    2 zk客户端连接关闭服务端,查看znode

    Zookeeper数据模型基本操作:

      客户端连接:

     1 启动zk服务器端:./zkServer.sh start

      2 启动zk客户端:./zkCli.sh   回车:

    [zk: localhost:2181(CONNECTED) 0]  //这里代表已经连上了localhost(本机)  端口号为:2181, CONNECTED 代表状态是 连接状态

    3 查看znode结构

              help查看zkCli.sh所有的命令

      ls 查看节点

    4 关闭客户端连接  :ctrl+c

    3 zookeeper的作用体现

    1.  master节点选举,主节点挂了之后,从节点就会接受工作,并且保证这个节点是唯一的,这就是所谓的首脑模式,从而保证我们的集群是高可用的
    2. 统一配置文件管理,既只需要部署一台服务器,则可以把相同的配置文件同步更新到其他所有服务器,此操作在云计算用的特别多(例如:假设修改了redis统一配置)
    3. 发布与订阅,类似消息队列MQ(amq,rmq...),dubbo发布者把数据存在znode上,订阅者会读取这个数据(发布者发布数据,订阅者读取数据,这就是发布订阅模式。)
    4. 提供了分布式锁,分布式环境中不同进程之间争夺资源,类似于多线程中的锁
    5. 集群管理,集群中保证数据的强一致性

    根据慕课网风间影月老师的课程整理的笔记

  • 相关阅读:
    设计模式之建造者模式(简单)
    设计模式之简单工厂模式,工厂模式,抽象工厂模式
    设计模式之观察者模式
    Redis java操作客服端——jedis
    Redis基础
    java环境变量配置加maven配置
    设计模式之JDK动态代理
    springboot+mybatis+Thymeleaf
    OS问题管理系统开发
    复制CentOS虚拟机网络配置
  • 原文地址:https://www.cnblogs.com/Torey/p/10257089.html
Copyright © 2011-2022 走看看