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机制,如集群选举,各个节点对应临时顺序节点,顺序最小的为主;分布式锁原理一模一样,顺序最小的节点获取到锁。
转载于:https://www.cnblogs.com/yuzhengzhong/p/10095856.html
Zookeeper基础使用机制原理相关推荐
- zookeeper的watcher机制原理详解
文章目录 客户端注册Watcher 服务端处理getData请求 服务端处理setData请求 客户端触发Watcher 我们都知道在zookeeper中存在watcher机制,查询服务端节点数据时可 ...
- Zookeeper的Watcher机制及Watcher原理分析
Zookeeper的Watcher机制及Watcher原理分析 1 什么是Watcher监听机制 Watcher 监听机制是 Zookeeper中非常重要的特性,我们基于zookeeper上创建的节点 ...
- Zookeeper watch机制原理
Zookeeper watch机制原理 准备工作 watch示例 源码解析 总结 准备工作 经过上一小节的学习我们知道ZookeeperServerMain是单机版的服务器主类 我们可以自己写一个Zk ...
- Zookeeper——选举机制原理与Leader和Follower作用
摘要 本博文主要介绍Zookeeper的选举机制的原理与Zookeeper事务请求处理的原理. 一.zookeeper选举算法原理 Leader 服务器的作用是管理 ZooKeeper 集群中的其他服 ...
- Zookeeper的选举机制详解
本文来说下Zookeeper的选举机制 文章目录 概述 人类选举的基本原理 Zookeeper选举的基本原理 什么场景下 Zookeeper 需要选举 启动时期的 Leader 选举 运行时期的Lea ...
- zookeeper的应用和原理
场景一 有这样一个场景:系统中有大约100w的用户,每个用户平 均有3个邮箱账号,每隔5分钟,每个邮箱账需要收取100封邮件,最多3亿份邮件需要下载到服务器中(不含附件和正文).用20台机器划分计算的 ...
- Kaka与Zookeeper的爱恨情仇(——zookeeper过半选举机制)
关于我们在学习kafka中的一些问题及架构,我想在这里浅谈一下我个人的理解: 之所以说这个kafka呢,主要还是最近做实时的项目中大量用到了kafka这个消息中间件,可以说kafka是我们大数据实时项 ...
- spark on yarn 完全分布式_Spark编程笔记(1)-架构基础与运行原理
引言 根据IBM前首席执行官郭士纳的观点,IT领域每隔十五年就会迎来一 次重大变革 .当前我们正处于第三次信息浪潮(2010年前后),物联网.云计算和大数据技术突飞猛进. 信息爆炸是我们当前所需要解决 ...
- 搜索引擎工作的基础流程与原理
搜索引擎最重要的是什么?有人会说是查询结果的准确性,有人会说是查询结果的丰富性,但其实这些都不是搜索引擎最最致命的地方.对于搜索引擎来说,最最致命的是查询时间.试想一下,如果你在百度界面上查询一个关键 ...
最新文章
- 【技术干货】如何进行低功耗设计和开发
- 【react开发】使用swiper插件,loop:true时产生的问题解决方案
- 软件测试面试-如何测试一个杯子(转)
- 调试笔记--keil 测量周期小技巧
- bug记录:虚拟机ping不通外网
- 源码编译安装gcc-5.3.0
- oracle undo表空间缩小,缩小undo表空间全记录
- java 处理时间的类_java 日期时间处理类
- 小D课堂 - 新版本微服务springcloud+Docker教程_6-02 springcloud网关组件zuul
- 【转】C# DateTime.Now详细用法
- java web 房屋租赁系统
- 数据库基本知识点总结
- IntelliJ IDEA 2020 提示“Unmapped Spring configuration files found.Please configure Spring facet.”解决办法
- 将World中的向下箭头替换为回车符
- php以大写字母分割,js按大写字母拆分字符串
- Axure 软件自带的图标元件Icons无法显示的问题解决方法
- 年均科研经费 4000 万,教授没有发论文压力,不必教课,这才是神仙科研生活!...
- 飞塔防火墙手动升级UTM库
- B站马士兵python入门基础版详细笔记(4)
- doraemon的python(大更新) django静态文件的配置(出错多的地方)