zoukankan      html  css  js  c++  java
  • zookeeper学习

    一、官网:https://zookeeper.apache.org/

    二、定义:分布式应用程序的分布式协调服务(提供一个看起来像是单机,实际上不是单机的服务;比如分布式锁)

    三、设计目标

    • 简单:性能要求、严格的顺序(适合同步原语-分布式锁)
    • 复制:主从模式
      •   
      • 从上可以看出这是一个主从模式,且路由在服务端(zk 节点互相熟悉)

      • 主从模式就会存在主节点的单点故障,zk通过保证快速选举leader来保证高可用性(选举一般保证在200ms之内完成,大多数节点同意即可) 

    • 订阅:唯一的一个事务ID标记每次修改
    • 快:适用于读取场景,比例大概是1:10(写:读),性能极佳

    四、数据结构-分层文件系统

    五、节点&短暂节点

    • znode单独维护自己的数据和一些统计数据信息
    • 每个节点都维护了ACL,控制目录下权限

    六、更新和监视

      客户端可以设置节点的监听

    七、特性

    • 顺序一致性-来自客户端的更新将按照发送的顺序应用。
    • 原子性-更新成功或失败。没有部分结果。
    • 单个系统映像-无论客户端连接到哪个服务器,客户端都将看到相同的服务视图。也就是说,即使客户端故障转移到具有相同会话的其他服务器,客户端也永远不会看到系统的较旧视图。
    • 可靠性-应用更新后,此更新将一直持续到客户端覆盖更新为止。
    • 及时性-确保系统的客户视图在特定时间范围内是最新的。

    八、API(有很多都提供了-w参数,表示监听模式,偏响应式API)

    • create:在树中的某个位置创建一个节点

    • delete:删除节点

    • exists:测试某个位置是否存在节点

    • get data:从节点读取数据

    • set data:将数据写入节点

    • get children节点:获取节点子节点的列表

    • sync:等待数据传播

  • 相关阅读:
    Spring 泛型依赖注入
    Spring 注解配置(2)——@Autowired
    Spring bean注解配置(1)
    Spring bean三种创建方式
    Spring中bean的生命周期!
    spring spel表达式语言
    [转]SVN版本冲突解决详解
    [转]Mybatis极其(最)简(好)单(用)的一个分页插件
    [转]Hibernate查询对象所有字段,单个字段 ,几个字段取值的问题
    [转] JPQL
  • 原文地址:https://www.cnblogs.com/gabin/p/13687685.html
Copyright © 2011-2022 走看看