[发明专利]一种基于Zookeeper的分布式架构数据一致性方法有效
申请号: | 201910036845.9 | 申请日: | 2019-01-15 |
公开(公告)号: | CN109815248B | 公开(公告)日: | 2021-05-11 |
发明(设计)人: | 冯强中;范文斌;王亚平;吴彤彤;刘成彪;王涛 | 申请(专利权)人: | 科大国创软件股份有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/2455;G06F16/2458 |
代理公司: | 合肥洪雷知识产权代理事务所(普通合伙) 34164 | 代理人: | 孙小华 |
地址: | 230000 安*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 zookeeper 分布式 架构 数据一致性 方法 | ||
本发明公开了一种基于Zookeeper的分布式架构数据一致性方法,涉及数据处理技术领域。本发明包括如下步骤,缓冲数据初始化:分布式系统每个节点启动后将Zookeeper中的数据加载到各个节点的内存中;部署订阅监听:定义订阅监听方法,每个节点均订阅Zookeeper目录及数据,并部署监听;数据同步:监测到Zookeeper中数据变化后,通过部署的监听方法更新每个节点的内存数据,保持各个节点间的数据同步。本发明通过在分布式架构系统中使用Zookeeper组件作为缓存数据同步管理器,利用Zookeeper的发布和订阅机制来实时同步分布式多节点的缓存数据,同时基于内存的Zookeeper数据库大大提高了数据访问速度,使得在分布式架构系统中,性能与数据一致性都得到很好的提升。
技术领域
本发明属于数据处理技术领域,特别是涉及一种基于Zookeeper的分布式架构数据一致性方法。
背景技术
Zookeeper是一个开源的分布式应用程序协调服务,分布式应用程序可以基于Zookeeper实现数据发布/订阅、负载均衡、分布式协调/通知、集群管理、分布式锁和分布式队列等功能。
分布式领域的CAP理论:任何一个分布式系统都无法同时满足Consistency(一致性),Availability(可用性),Partition tolerance(分区容错性)这三个基本需求。在分布式架构中,采用多节点部署的方式来实现高可用,分区容错性是一个最基本的要求,如何在一致性和可用性之间平衡是分布式架构面临的主要难题。因此BASE理论应运而生,BASE理论是在基于CAP理论的基础上,通过大规模互联网系统分布式实践总结,对CAP理论中一致性和可用性权衡的结果,核心思想就是即使无法做到强一致性,但每个应用都可以根据自身的业务特点,采用适当的方式来使系统达到最终一致性。
在实现数据一致性的具体解决过程中,衍生出数据一致性模型,分别是强一致性、弱一致性、最终一致性。其中,强一致性是指当更新操作完成后,任何多个后续操作的访问都会返回最新的更新后的值,强制每次获取到的数据都是最新的数据,确保数据的准确性,现有的实现方案有二阶段提交协议、三阶段提交协议、TCC协议、Paxos算法等。弱一致性是指当更新操作完成后,系统不保证后续操作的访问都会返回最新的更新过的值,也不会保证在多久之后能访问到最新的值,在实现上不采取数据一致性的补偿措施;最终一致性是弱一致性的特定形式,是指在没有后续更新操作的前提下,系统保证最终返回上一次更新操作的值,主要有消息队列实时触发数据补偿及定时任务触发数据补偿两种实现方案。现有的方案主要存在以下缺陷:
(1)二阶段提交协议是同步阻塞式,极大限制了分布式系统的性能,而且存在单点故障问题,没有设计较为完善的容错机制,任意一个节点的失败都会导致整个事务的失败;
(2)三阶段提交协议虽然解决了二阶段提交协议的阻塞问题和单点故障问题,但是引入了分区不一致时,会导致节点无法通信,影响数据的不一致性;
(3)TCC协议、Paxos算法等强一致性实现方案虽然能保证数据的强一致性,但并发时性能上会有很大的影响,在分布式系统中,强一致性往往不是最好的解决方案;
(4)消息队列触发的数据补偿方案,会受到消息队列本身的性能影响,一旦消息队列性能降低会导致数据不能实时同步,影响数据一致性;
(5)定时任务数据补偿方案,当定时时间间隔过小,会频繁进行数据同步操作,影响系统性能;当定时时间间隔过大,会导致数据同步延迟,影响数据一致性。
发明内容
本发明的目的在于提供一种基于Zookeeper的分布式架构数据一致性方法,通过在分布式架构系统中使用Zookeeper作为缓存数据同步管理器,利用Zookeeper的发布和订阅机制来实时同步分布式多节点的缓存数据,实现多节点间的数据一致性,解决了现有的问题。
为解决上述技术问题,本发明是通过以下技术方案实现的:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于科大国创软件股份有限公司,未经科大国创软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910036845.9/2.html,转载请声明来源钻瓜专利网。