zoukankan      html  css  js  c++  java
  • zookeeper 分布式协调服务

    分布式协调服务作用是将多机协调的职责从分布式应用中独立出来,以减少系统的耦合性和增加扩展性。

    而zookeeper采用分布式中经典的主从架构:master->slave,通常以动态的存储分布式应用程序中关键的元数据

    来达到分布式协调服务的作用,可提供如leader选举、负载均衡、服务发现等服务。

    整体架构:

    zookeeper采用树形状层级化的内存命名空间,结构类似于文件系统的目录结构,其中每个目录节点称为ZNode,

    不同的是每个ZNode每个均可以存储数据,同时具有data、type、version、children、ACL等属性。

    其中data:表示存储的实际的数据;type:znode类型、version:节点版本,children:子节点、ACL(Access Control List):权限管理

    的一个配置List,定义谁可以对该ZNode进行访问、修改、删除等操作;同时ZNode的数据访问具有原子性,即保证事务请求在各个服务器上

    应用的一致性,要嘛均应用,要嘛均不应用。

    ZNode类型

    Persistent(持久化节点)、Ephemeral(临时节点,伴随session的生命周期)、sequence(唯一命名,文件名默认追加唯一的自增数字,该类型不会单独存在)

    根据三种节点类型,衍生出ZNode四种类型:Persistent、Ephemeral、Persistent_sequence、Ephemeral_sequence

    Watcher监听器:

    zookeeper的发布/通知机制,当ZNode发生变化,触发watcher,client端可接收到变更通知,而watcher有一个重要的特征:triggered once即watcher一旦触发,

    就会被删除,之后需要客户端重新注册watcher继续监听znode的变化,以变快速作出响应。

    Seesion:

    seesion作为客户端与zookeeper之间的通信通道,现实环境中zookeeper一般是以集群的模式搭建的,而服务器个数推荐奇数,客户端只需要随机的

    选择一个服务器建立session即可。

    session具有时序性、容错性等特点,如时序性即当客户端发送消息,zookeeper会按照消息当时序进行记录。容错性方面,zookeeper以集

    群当形式搭建,zookeeper会保证各个服务器的一致性。当客户端连接的服务器宕机,session会自动连接到其他服务器上。

    草稿待续。。。

  • 相关阅读:
    Count on a tree
    图论1 1009
    DP2 1008
    DP1 1008
    NOIP 模拟 1006
    2019 CSP-S 初赛退役记
    9.13——TEST NOIP模拟测试
    [洛谷P2387][NOI2014]魔法森林
    [洛谷P2596][ZJOI2006]书架
    [BZOJ4241]历史研究
  • 原文地址:https://www.cnblogs.com/ultimateWorld/p/9005868.html
Copyright © 2011-2022 走看看