IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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的应用场景

普通应用

  • 分布式队列:通过ZK的持久化循序结点即可实现。
  • 集群选举: 通过ZK的Leader选举功能即可实现。
  • 发布订阅: 即ZK的注册监听功能。

分布式配置中心注册中心

  1. 创建一个PERSISTENT持久化结点, create /config/项目名 配置文件的JSON格式
  2. 客户端监听该结点,get -w /config/项目名,当该结点数据发生变化时,也就意味着配置文件JSON发生了变化,客户端能第一时间感知到。由于监听是一次性的,循环监听即可。

分布式锁

非公平锁

  1. 请求进来,创建一个临时结点/lockcreate -s /lock, 如果该结点存在,ZK服务端会告知你该结点已经存在,不能重复创建;
  2. 此时监听该结点,get -w /lock/获得锁的请求,处理完后释放锁,即delete /lock/当前获取锁的结点,此时,会通知监听该结点的所有连接,在高并发的情况下,相当是一个灾难;

?如上实现方式在并发问题比较严重的情况下,性能会下降的比较厉害,主要原因是:所有的连接都在对同一个节点进行监听,当服务器检测到删除事件时,要通知所有的连接,所有的连接同时收到事件,再次并发竞争,这就是羊群效应。如何避免呢,我们看下面这种方式。

公平锁

  1. 直接在/lock结点下创建一个临时顺序结点。
  2. 判断自己是不是/lock结点下最小的结点。如果是最小的,即获得锁。如果不是,对前面一个结点进行监听get -w /lock/前面一个结点
  3. 获得锁的请求,处理完后释放锁,即delete /lock/当前获取锁的结点,然后它后面的一个结点会收到通知,重复第2步判断。

?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-10 13:29:13  更:2021-08-10 13:31:09 
 
开发: 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年5日历 -2024/5/17 17:38:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码