| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> zookeeper 的学习 -> 正文阅读 |
|
[大数据]zookeeper 的学习 |
一 zookeeper
Zookeeper
是一个开源的分布式协调服务框架 ,主要用来解决分布式集群中应用系统的
一致性问题和数据管理问题。
是一个分布式的应用协调、数据同步的框架,保证数据的一致性。
二? zk的应用协调/通知
Zookeeper中特有的Watcher注册与异步通知机制,能够很好地实现分布式环境下不同机器,甚至不同系统之间的协调与通知,从而实现对数据变更的实时处理。
在绝大多数分布式系统中,系统机器间的通信无外乎
心跳检测、工作进度汇报和系统调
度
。
三? ?分布式锁
分布式锁用于控制
分布式系统之间同步访问共享资源的一种方式
,可以保证不同系统访问一个或一组资源时的一致性,主要分为排它锁和共享锁。
排它锁又称为写锁或独占锁
,若事务
T1
对数据对象
O1
加上了排它锁,那么在整个加锁期
间,只允许事务
T1
对
O1
进行读取和更新操作,其他任何事务都不能再对这个数据对象进行任
何类型的操作,直到
T1
释放了排它锁
①
获取锁
,在需要获取排它锁时,所有客户端通过调用接口,在
/exclusive_lock
节点下创建
临时子节点
/exclusive_lock/lock
。
Zookeeper
可以保证只有一个客户端能够创建成功,没有成
功的客户端需要注册
/exclusive_lock
节点监听。
②
释放锁
,当获取锁的客户端宕机或者正常完成业务逻辑都会导致临时节点的删除,此
时,所有在
/exclusive_lock
节点上注册监听的客户端都会收到通知,可以重新发起分布式锁获
取。
共享锁又称为读锁
,若事务
T1
对数据对象
O1
加上共享锁,那么当前事务只能对
O1
进行读取操
作,其他事务也只能对这个数据对象加共享锁,直到该数据对象上的所有共享锁都被释放。
在需要获取共享锁时,所有客户端都会到
/shared_lock
下面创建一个临时顺序节点 。
? 四 zk的Java api (了解)
Zookeeper的JavaAPI使用的是一套zookeeper客户端框架
Curator ,解决了很多Zookeeper客户端非常底层的细节开发工作 。
Curator包含了几个包:
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 14:56:02- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |