微服务的数据同步方法、装置及计算机可读存储介质制造方法及图纸

技术编号:24330787 阅读:62 留言:0更新日期:2020-05-29 19:32
本发明专利技术涉及一种大数据技术,揭露了一种微服务的数据同步方法,包括:基于预先构建的一致性哈希算法对原始微服务的负载均衡场景进行动态增删,得到标准负载均衡场景,其中,所述标准负载均衡场景包括微服务的实例负载监控和微服务的实例状态变化检测;通过预先创建的单元服务器组向所述标准负载均衡场景进行实时数据读取,得到实时数据集;将所述实时数据集输入至所述预先创建的单元服务器组的单元节点中,通过消息中间件实现所述单元节点之间的实时数据同步。本发明专利技术还提出一种微服务的数据同步装置以及一种计算机可读存储介质。本发明专利技术实现了微服务的数据同步。

Microservice data synchronization method, device and computer readable storage medium

【技术实现步骤摘要】
微服务的数据同步方法、装置及计算机可读存储介质
本专利技术涉及大数据
,尤其涉及一种微服务的数据同步方法、装置及计算机可读存储介质。
技术介绍
微服务架构是一项在云中部署应用和服务的新技术。随着微服务架构的逐渐应用,一个上游系统会对接N个下游系统,由于每一个下游系统对接口响应的标准不一样、业务特殊性不能配合优化以及各个系统之间的实时数据同步等问题导致上游系统的优化受限制,从而导致系统之间的耦合度过高,上游系统服务器压力过大,上游系统接口响应过慢。
技术实现思路
本专利技术提供一种微服务的数据同步方法、装置及计算机可读存储介质,其主要目的在于当用户在进行微服务的数据同步时,给用户呈现出精准的数据同步结果。为实现上述目的,本专利技术提供的一种微服务的数据同步方法,包括:基于预先构建的一致性哈希算法对原始微服务的负载均衡场景进行动态增删,得到标准负载均衡场景,其中,所述标准负载均衡场景包括微服务的实例负载监控和微服务的实例状态变化检测;通过预先创建的单元服务器组向所述标准负载均衡场景进行实时数据读取,得到实时数据集;将所述实时数据集输入至所述预先创建的单元服务器组的单元节点中,通过消息中间件实现所述单元节点之间的实时数据同步。可选地,所述预先构建的一致性哈希算法包括:预设虚拟节点的数目,以实现存储空间分配的均衡性;采用TreeMap数据结构对所述虚拟节点的数据存储结构进行构建,所述TreeMap数据结构通过红黑树实现所述节点的存储;选择所述虚拟节点的散列函数,通过所述散列函数实现所述虚拟节点的哈希检索操作。可选地,所述原始微服务的负载均衡场景包括将任务分摊到多个单元服务器上共同完成,其中,所述操作单元包括Web服务器、FTP服务器、企业关键应用服务器。可选地,所述微服务的实例负载监控包括:微服务的实例调用、微服务的实例并发以及微服务的实例数据更新。可选地,所述微服务的实例状态变化检测包括:通过负载均衡定时检测所述微服务的实例状态变化是否为实例增加和/或删除;当所述微服务的实例状态变化是实例增加和/或删除时,采用所述一致性哈希算法对所述实例请求进行重新分配,并将分配结果返回对应的调用者;当所述微服务的实例状态变化不是实例增加和/或删除时,报告所述实例运行的负载状态,并定时判断所述实例的负载状态是否达到预设的负载阀值。可选地,所述单元服务器组的创建包括:构建所述单元服务器组存储数据结构、选择所述单元服务器组持久化方式、利用Redis的复制功能实现所述单元服务器组的数据备份以及存储所述单元服务器组固定的数据,以完成对所述单元服务器组的创建。可选地,所述利用Redis的复制功能实现所述单元服务器组的数据备份,包括:选择所述单元服务器组其中一个单元服务器作为主单元服务器,通过所述Redis的laveof命令和slaveof配置属性将所述单元服务器组中剩余单元服务器设置为所述主单元服务器的从单元服务器;启动所述从单元服务器,向所述主单元服务器发送同步的命令,通过所述主单元服务器启动后台进程来生成内存数据的快照,同时记录生成快照期间新执行的写命令,完成所述单元服务器组中主单元服务器的数据备份。此外,为实现上述目的,本专利技术提供一种微服务的数据同步系统,该系统包括一个或者多个功能模块,该功能模块存储在数据处理设备的存储器中,并由所述数据处理设备的处理器执行,以实现如上所述的微服务的数据同步方法的步骤。此外,为实现上述目的,本专利技术提供一种微服务的数据同步装置,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的微服务的数据同步程序,所述微服务的数据同步程序被所述处理器执行,以实现如上所述的微服务的数据同步方法的步骤。此外,为实现上述目的,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有微服务的数据同步程序,所述微服务的数据同步程序可被一个或者多个处理器执行,以实现如上所述的微服务的数据同步方法的步骤。本专利技术提出的微服务的数据同步方法、装置及计算机可读存储介质,在用户进行微服务的数据同步时,利用一致性哈希算法提供的虚拟节点对原始微服务的负载均衡场景进行动态增删,从而实现负载均衡场景的均匀分配;通过预先创建的单元服务器组向所述标准负载均衡场景进行实时数据读取,得到实时数据集,所创建的单元服务器可以支持高并发的数据读取操作,提高系统的响应速度;将所述实时数据集输入至所述单元服务器组的单元节点中,通过消息中间件实现所述单元节点之间的实时数据同步,从而保证了基于微服务场景下的数据一致性。附图说明图1为本专利技术一实施例提供的微服务的数据同步方法的流程示意图;图2为本专利技术一实施例提供的微服务的数据同步装置的内部结构示意图;图3为本专利技术一实施例提供的微服务的数据同步装置中微服务的数据同步程序的模块示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术提供一种微服务的数据同步方法。参照图1所示,为本专利技术一实施例提供的微服务的数据同步方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。在本实施例中,微服务的数据同步方法包括:S1、基于预先构建的一致性哈希算法对原始微服务的负载均衡场景进行动态增删,得到标准负载均衡场景,其中,所述标准负载均衡场景包括微服务的实例负载监控、微服务的实例状态变化检测。本专利技术较佳实施例中,所述一致性哈希算法的核心思想为将普通哈希算法中的节点选择标准从一个具体的值转换为一段范围,所述一段范围可以表示为闭合环上的某一小段连续的范围。进一步地,本专利技术中所述预先构建的一致性哈希算法包括:预设虚拟节点的数目、构建所述虚拟节点的数据存储结构以及选择所述虚拟节点的散列函数。详细地,本专利技术较佳实施例中所述预先构建的一致性哈希算法如下所示:a、通过预设虚拟节点数目实现存储空间分配的均衡性。例如,某系统中只有两个物理节点,如果没有虚拟节点存在,由于哈希算法一定程度上的随机性,很难将用户请求均匀地分配到这两个节点中。如果将所述系统中的两个物理节点分成200个虚拟节点并映射到存储空间中,根据所述200个虚拟节点来进行哈希,可以大大提高了存储空间分配的均衡性。于是,当系统物理节点较少时,需要增加虚拟节点数目的设置,而当物理节点较多时则应该减少虚拟节点的设置。本专利技术可以根据具体物理节点的数量来设置合适的虚拟节点的数目。b、采用Java中的TreeMap数据结构来实现所述虚拟节点的数据存储结构的构建,所述TreeMap数据结构通过红黑树实现所述节点的存储。c、将MurMurHash函数作为所述虚拟节点的散列函数。其中,所述MurMurHash算法指的是非加密性哈希函数,通过所述MurMurHash函数实现本文档来自技高网...

【技术保护点】
1.一种微服务的数据同步方法,其特征在于,所述方法包括:/n基于预先构建的一致性哈希算法对原始微服务的负载均衡场景进行动态增删,得到标准负载均衡场景,其中,所述标准负载均衡场景包括微服务的实例负载监控和微服务的实例状态变化检测;/n通过预先创建的单元服务器组向所述标准负载均衡场景进行实时数据读取,得到实时数据集;/n将所述实时数据集输入至所述预先创建的单元服务器组的单元节点中,通过消息中间件实现所述单元节点之间的实时数据同步。/n

【技术特征摘要】
1.一种微服务的数据同步方法,其特征在于,所述方法包括:
基于预先构建的一致性哈希算法对原始微服务的负载均衡场景进行动态增删,得到标准负载均衡场景,其中,所述标准负载均衡场景包括微服务的实例负载监控和微服务的实例状态变化检测;
通过预先创建的单元服务器组向所述标准负载均衡场景进行实时数据读取,得到实时数据集;
将所述实时数据集输入至所述预先创建的单元服务器组的单元节点中,通过消息中间件实现所述单元节点之间的实时数据同步。


2.如权利要求1所述的微服务的数据同步方法,其特征在于,所述预先构建的一致性哈希算法包括:
预设虚拟节点的数目,以实现存储空间分配的均衡性;
采用TreeMap数据结构对所述虚拟节点的数据存储结构进行构建,所述TreeMap数据结构通过红黑树实现所述节点的存储;
选择所述虚拟节点的散列函数,通过所述散列函数实现所述虚拟节点的哈希检索操作。


3.如权利要求1所述的微服务的数据同步方法,其特征在于,所述原始微服务的负载均衡场景包括将任务分摊到多个单元服务器上共同完成,其中,所述操作单元包括Web服务器、FTP服务器、企业关键应用服务器。


4.如权利要求1至3中任意一项所述的微服务的数据同步方法,其特征在于,所述微服务的实例负载监控包括:微服务的实例调用、微服务的实例并发以及微服务的实例数据更新。


5.如权利要求1至3中任意一项所述的微服务的数据同步方法,其特征在于,所述微服务的实例状态变化检测包括:
通过负载均衡定时检测所述微服务的实例状态变化是否为实例增加和/或删除;
当所述微服务的实例状态变化是实例增加和/或删除时,采用所述一致性哈希算法对所述实例请求进行重新分配,并将分配结果返回对应的调用者;
当所述微服务的实例状态变化不是实例增加和/或删除时,报告所述实例...

【专利技术属性】
技术研发人员:罗凤宁
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1