• zookeeper


    zookeeper是一个高性能,分布式的开源
    应用协调服务.比如同步,配置管理,命名
    空间.
    什么是分布式?
    多台机器构成,计算机之间通过网络进行
    通信,彼此进行交互,共同目标

    协调:多个节点一起完成的一个动作
    举例:
    集群成员管理

    选主
    同步

    发布/订阅

    zookeeper数据模型
    分层结构
    属性结构中的每个节点叫做znode
    每个znode都有数据,也可以有子节点
    节点路径:通过斜线分割 /zoo/duck
    通过数据结构stat来存储数据的编号
    数据发生变化是,版本号回递增.

    可以对znode中的数据进行读写操作

    典型的应用场景
    数据发布/订阅
    数据发布/订阅(配置中心):
    发布者将数据发布到zk的一个或一系列
    节点上,订阅者进行数据订阅,当数据有变化时,
    可以及时得到数据的变化通知.

    负载均衡
    本质是利用zk的配置管理功能,步骤:
    1 服务提供者把自己的域名及ip端口的
    映射注册到zk中
    2 服务消费者通过域名从zk中获取到对应的
    ip

    命名服务
    类似于JNDI

    分布式协调/通知
    通过watcher和通知机制实现
    分布式锁
    分布式事务

    集群管理
    管理集群中的机器数量
    集群中机器的运行时状态
    集群中节点的上下线操作
    集群节点的统一配置

    分布式锁
    排它锁
    共享锁
    分布式队列
    FIFO

    zk基本概念
    集群角色
    leader:为客户端提供读和写服务
    follower:提供读服务,所有的写
    服务都需要转交给leader角色,参与
    选举
    observer:提供读服务,不参与选举,
    一般是为了增强zk集群的读请求
    并发能力
    会话
    zk的客户端与服务器端之间的连接
    通过心跳检查保持客户端的连接存活
    接收来自服务端的watch事件

    数据节点(znode)
    不是机器的意思
    zk树形结构中的数据节点,用于
    存储数据
    持久节点:一旦创建,除非主动调用
    删除操作,否则一直存储
    临时节点:会话失效后节点被移除

    版本
    version:当前znode的版本
    cversion:当前znode的字节版本
    aversion:当前znode的ACL
    watcher
    作用于znode节点上
    多种事件通知:数据更新,子节点
    状态等

    31分钟
    
  • 相关阅读:
    介绍一下Markdown语言
    通向架构师的道路(第一天)之Apache整合Tomcat lifetragedy的专栏 博客频道 CSDN.NET
    中国分省市地图导航SVG格式(基于Raphaël)
    异构计算完全解析CSDN.NET
    cocos2dx开启Wifi
    用“Web的思想”做PC客户端
    高斯模糊原理及几个实现例子
    android开启Wifi AP
    perl函数映射
    显示Iframe指定位置
  • 原文地址:https://www.cnblogs.com/luleiitlife/p/8545015.html
Copyright © 2020-2023  润新知