zoukankan      html  css  js  c++  java
  • Zookeeper基础使用机制原理

    Znode:

    1、Znode既是路径(目录)也是信息(文件)

    2、Znode有两种分类:一分为临时节点(会话生命周期)和永久节点;二分为普通节点和顺序节点

    Watch:

    1、监听与通知机制,可以在节点上监听其本身(增、删、改)或其子节点(增、删)事件

    2、代码上通过exist、getData、getChildren注册监听,通过create、delete、setData可以触发通知

    一致性机制:

    1、Single System Image,数据会被同步到所有节点,客户端可以连接任一节点,获取数据。数据同步到各个节点肯定需要一点时间,是最终一致性,所以对于类似转账的业务,不应直接去查,而应注册监听等待通知,才能保证数据一致性

    2、Sequential Consistency,同时写同一条记录问题,Leader-Follower机制,写请求都会路由到Leader,每个写请求都会加一个数字标签表明事务顺序,写请求按照顺序执行(异步的分布式系统实现同步的效果)

    应用:

    Zookeeper最常用的定位是分布式协调服务,协调是一个比较宽泛的概念,按照官方文档它其实可以有很多应用场景

    统一命名空间 Name Service 

    配置管理

    集群管理 Group Membership – 检测成员状态即集群节点状态

    集群管理 Election – 集群选举

    分布式锁

    *分布式队列 – 生产者消费者队列

    *Barriers (篱笆墙) - A barrier is a primitive that enables a group of processes to synchronize the beginning and the end of a computation.

    *Two-phased Commit两阶段提交,通常用于分布式事务

    *BookKeeper – 分布式日志流存储

    这些应用的实现原理都是用上面的znode和watch机制,如集群选举,各个节点对应临时顺序节点,顺序最小的为主;分布式锁原理一模一样,顺序最小的节点获取到锁。

  • 相关阅读:
    整合Spring与Hibernate
    基本正则
    vue权限指令
    vue数字动态转换大写
    element ui 表格动态生成多级表头、一级表头,可无限嵌套
    vuex和vue-router全家桶
    element表格内容过多title提示
    HBuilder打包App方法
    mui底部选项卡切换页面
    mui框架的地步选项卡公用加载对应页面demo
  • 原文地址:https://www.cnblogs.com/yuzhengzhong/p/10095856.html
Copyright © 2011-2022 走看看