ZooKeeper 如何保证数据的一致性?【重要】

简介: ZooKeeper 如何保证数据的一致性?【重要】

保证数据的一致性有两种情况,一种是重新选取出新 leader 后的数据同步还有一种是 leader 处理完事务请求后与 follow 保持数据一致。

首先是重新选取出新 leader 后的数据同步,通过 FastLeaderElection 选举算法选出 leader,选出 leader 之后,leader 需要与其他节点进行同步,当超过一半的 follow 与 leader 进行同步完成后,leader 才能成为真正的 leader,然后 follow 会带上自己最大的 ZXID 尝试与 leader 连接,来确定数据是否同步。

其次是 leader 处理完事务请求后与 follow 保持数据一致。事务请求全部是由 leader 处理的,当 leader 收到请求后,会将事务请求转化为事务 Proposal,由于 leader 会为每一个 follow 创建一个队列,所以 leader 会将事务放入响应队列中,按顺序处理事务请求,来保证事务的顺序性。之后会在队列中顺序向其他节点广播该提案。follow 收到后会将其以事务的形式写入到本地日志中,并向 leader 发送反馈 ack,leader 会等待其他 follow 的回复,当收到一半以上的 follow 响应时,leader 会向其他节点发送 commit 消息,同时 leader 提交该提案。当 follow 将数据同步完成之后,leader 会将该 follow 加入到真正可用的 follow 列表中。

image.png

ZooKeeper 如何保证数据的一致性?_Java 大数据运动猿的博客 - CSDN 博客

相关文章
|
8月前
|
存储 运维 安全
金融级 ZooKeeper 来袭:性能提升100%,SLA 99.99%,数据防护升级
阿里云微服务引擎 MSE ZooKeeper 企业版正式发布,提供比专业版更高的稳定性与安全能力,SLA 达 99.99%,整体服务性能提升 100%。针对关键业务,企业版通过独享资源池实现更高规格配额,满足大规模需求。此外新增数据备份容灾、容量管理反脆弱限流等功能,提升整体企业级特性,助力企业应对复杂业务挑战。
491 137
金融级 ZooKeeper 来袭:性能提升100%,SLA 99.99%,数据防护升级
|
10月前
|
数据采集 机器学习/深度学习 数据可视化
让回归模型不再被异常值"带跑偏",MSE和Cauchy损失函数在噪声数据环境下的实战对比
本文探讨了MSE与Cauchy损失函数在线性回归中的表现,特别是在含噪声数据环境下的差异。研究发现,MSE虽具良好数学性质,但对异常值敏感;而Cauchy通过其对数惩罚机制降低异常值影响,展现出更强稳定性。实验结果表明,Cauchy损失函数在处理含噪声数据时参数估计更接近真实值,为实际应用提供了更鲁棒的选择。
387 1
让回归模型不再被异常值"带跑偏",MSE和Cauchy损失函数在噪声数据环境下的实战对比
Zookeeper学习---2、客户端API操作、客户端向服务端写数据流程
Zookeeper学习---2、客户端API操作、客户端向服务端写数据流程
Zookeeper学习---2、客户端API操作、客户端向服务端写数据流程
|
Java
分布式系列教程(24) -Zookeeper数据查看工具ZooInspector
分布式系列教程(24) -Zookeeper数据查看工具ZooInspector
341 0
|
分布式计算 负载均衡 算法
Hadoop-31 ZooKeeper 内部原理 简述Leader选举 ZAB协议 一致性
Hadoop-31 ZooKeeper 内部原理 简述Leader选举 ZAB协议 一致性
227 1
|
分布式计算 Java Hadoop
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
304 1
|
消息中间件 存储 Kafka
kafka 在 zookeeper 中保存的数据内容
kafka 在 zookeeper 中保存的数据内容
285 3
|
前端开发 JavaScript 算法
分布式系统的一致性级别划分及Zookeeper一致性级别分析
分布式系统的一致性级别划分及Zookeeper一致性级别分析
|
网络协议 中间件 数据库
Zookeeper学习系列【三】Zookeeper 集群架构、读写机制以及一致性原理(ZAB协议)
Zookeeper学习系列【三】Zookeeper 集群架构、读写机制以及一致性原理(ZAB协议)
778 0
|
存储 Java API
ZooKeeper【客户端的API操作、写数据流程】
ZooKeeper【客户端的API操作、写数据流程】