论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
大数据
›
数据仓库与分析
›
Apache ZooKeeper 分布式协调服务
Apache ZooKeeper 分布式协调服务
石小疯
金牌会员
|
2025-3-22 02:36:27
|
显示全部楼层
|
阅读模式
楼主
主题
978
|
帖子
978
|
积分
2934
1. ZooKeeper 概述
1.1 定义与定位
焦点定位
:分布式系统的协调服务,提供
强同等性
的配置管理、定名服务、分布式锁和集群管理能力
焦点模型
:基于树形节点(ZNode)的键值存储,支持 Watcher 监听机制
生态地位
:Hadoop/ Kafka 等生态焦点依靠,分布式系统底子设施级组件
1.2 设计目的
强同等性
:所有节点数据最终同等(基于 ZAB 协议)
高可用性
:集群半数以上节点存活即可提供服务
顺序性
:全局唯一递增变乱 ID(zxid)保证操作顺序
2. 焦点架构与原理
2.1 架构分层
2.2 ZAB 协议流程
Leader 推举
:
所有节点初始为 Looking 状态,根据 zxid 和 myid 发起投票
获得半数以上投票的节点成为 Leader
数据同步
:
Leader 向 Follower 发送 Proposal
Follower 回复 ACK,Leader 收到半数以上 ACK 后提交变乱
消息广播
:
所有写操作由 Leader 处理,通过两阶段提交保证同等性
2.3 ZNode 节点类型
类型特点
持久节点
客户端断开后节点依然存在
临时节点
客户端会话结束自动删除(用于服务注册)
顺序节点
节点名自动追加全局单调递增序号(用于分布式锁)
3. 关键特性与技能上风
3.1 焦点特性
Watcher 机制
:
一次性触发监听(客户端需反复注册)
支持节点创建/删除/数据变更变乱
ACL 权限控制
:
基于 Scheme(world/auth/ip/digest)的访问控制
细粒度权限(CREATE/READ/WRITE/DELETE/ADMIN)
Session 管理
:
心跳检测维持会话(默认 2 倍 tickTime 超时)
临时节点随会话停止自动清理
3.2 性能指标
操作类型吞吐量(3节点集群)延迟(ms)
读哀求
10k+ QPS<5
写哀求
3k+ QPS<10
4. 典型应用场景
4.1 分布式锁
实现方案
:
创建顺序临时节点 /lock/resource_
查抄是否是最小序号节点,是则获取锁
监听前一个节点删除变乱(避免惊群效应)
优化手段
:
使用 Curator 的 InterProcessMutex 封装
4.2 服务注册与发现
实现流程
:
服务启动时创建临时节点 /services/serviceA/192.168.1.1:8080
客户端监听节点列表变更
服务下线时节点自动删除
4.3 配置管理
实现方式
:
将配置存储在持久节点 /config/database
客户端注册 Watcher 实时吸收变更关照
5. 行业实践案例
5.1 某金融交易系统
挑战
:
高频交易需保障分布式锁的强同等性与低延迟
每秒处理 5k+ 订单,要求锁获取时间 <20ms
ZooKeeper 方案
:
采用顺序临时节点实现悲观锁
优化 Session 超时时间(tickTime=2s)
结果:锁冲突处理效率提升 70%,零死锁发生
5.2 配置示例(Java API)
6. 高可用部署方案
6.1 集群规划
部署建议
:
至少 3 节点构成集群(推荐 5 节点应对更高容灾)
分离变乱日记与快照存储到不同磁盘
JVM 堆内存建议 4-8GB(避免 GC 停顿影响推举)
7. 技能对比与选型
维度ZooKeeperetcdConsul
同等性协议
ZABRaftRaft
数据模型
树形节点键值对键值对+服务发现
读写性能
高读,中写高读写中读写
典型场景
分布式协调K8s 配置存储服务网格
运维复杂度
较高低中
8. 未来演进方向
性能优化
:
支持 LevelDB 替代内存树提升存储容量
引入异步快照淘汰主线程壅闭
云原生适配
:
官方 Kubernetes Operator 管理集群
集成 Prometheus 输出更丰富指标
安全加强
:
支持 TLS 1.3 加密通讯
基于脚色的访问控制(RBAC)
9. 学习资源推荐
官方文档:https://zookeeper.apache.org
《从Paxos到ZooKeeper:分布式同等性原理与实践》
故障排查指南:ZooKeeper Troubleshooting
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
石小疯
金牌会员
这个人很懒什么都没写!
楼主热帖
解决图片无法设置hover,以设置图片的 ...
Hive安装与启动
解决OpenCV的imread/imwrite在Qt环境不 ...
SQL的多表查询
C# GDI+ 画心形 跳动动画
qrtz表初始化脚本_mysql
几个函数的使用例子:更新VBRK-XBLNR, ...
在 NGINX 中根据用户真实 IP 进行限制 ...
堆Pwn:House Of Storm利用手法
Springfox与SpringDoc——swagger如何 ...
标签云
运维
CIO
存储
服务器
浏览过的版块
网络安全
终端安全
用友
SAP
快速回复
返回顶部
返回列表