CN109324942B - 微服务的双活处理方法、装置及系统、设备、存储介质 - Google Patents

微服务的双活处理方法、装置及系统、设备、存储介质 Download PDF

Info

Publication number
CN109324942B
CN109324942B CN201810891357.1A CN201810891357A CN109324942B CN 109324942 B CN109324942 B CN 109324942B CN 201810891357 A CN201810891357 A CN 201810891357A CN 109324942 B CN109324942 B CN 109324942B
Authority
CN
China
Prior art keywords
service
node
micro service
micro
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810891357.1A
Other languages
English (en)
Other versions
CN109324942A (zh
Inventor
蒋纯辉
李日盛
裴莹莹
于沛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SF Technology Co Ltd
Original Assignee
SF Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SF Technology Co Ltd filed Critical SF Technology Co Ltd
Priority to CN201810891357.1A priority Critical patent/CN109324942B/zh
Publication of CN109324942A publication Critical patent/CN109324942A/zh
Application granted granted Critical
Publication of CN109324942B publication Critical patent/CN109324942B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种微服务的双活处理方法、装置及系统、设备、存储介质,涉及网络技术,该方法监控ZK服务提供者处各个微服务的节点变化,并在微服务的节点发生变化时,根据该微服务的策略,同步微服务节点变化至其他ZK服务提供者并将各ZK服务提供者的节点变化同步至数据库。由于多个ZK服务提供者中各个微服务的节点变化能够同步,所以在主机房出现问题时,其它机房能够实现热切换,用户感觉不到切换的过程,通过,主机房和备用机房都能够为用户提供服务,提高容灾性和用户体验的同时,提高了服务器利用率。

Description

微服务的双活处理方法、装置及系统、设备、存储介质
技术领域
本公开一般涉及网络技术,尤其涉及一种微服务的双活处理方法、装置及系统、设备、存储介质。
背景技术
在公司快速发展下,公司需要保证核心业务7*24小时的不间断运行和数据保护需求越来越高。公司越来越依赖于系统稳定来进行业务运营,一旦系统出了故障,所有与这台系统有连接的业务系统就会停顿,甚至会丢失数据,导致运营上的重大不便和经济损失,公司的信誉也将受到影响。
在热备的情况下,只有主数据中心承担用户的业务,此时备数据中心对主数据中心进行实时的备份,当主数据中心挂掉以后,备数据中心可以自动接管主数据中心的业务,用户的业务不会中断,所以也感觉不到数据中心的切换。
在冷备的情况下,也是只有主数据中心承担业务,但是备用数据中心不会对主数据中心进行实时备份,这时可能是周期性的进行备份或者干脆不进行备份,如果主数据中心挂掉了,用户的业务就会中断
本发明的发明人发现,传统主备模式是一个业务只在一个数据中心运行,企业结合灾备等级需求和业务需求,在备份中心部署了大量的备份服务器,但备份中心仅为该业务提供灾备服务,只有当事故发生、生产数据中心瘫痪时,灾备中心的业务系统才启动这些服务器,造成备份中心服务器资源浪费,广域网链路也无法得到充分的利用;启用备用机房也需要一定的时间,也会造成数据的丢失,用户体验的不满。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种微服务的双活处理方法、装置及系统、设备、存储介质,以提高容灾性和用户体验,并提高服务器利用率。
第一方面,本发明实施例提供一种微服务的双活处理方法,包括:
监控ZK服务提供者处各个微服务的节点变化;
在微服务的节点发生变化时,根据该微服务的策略,同步微服务节点变化至其他ZK服务提供者;
将各ZK服务提供者的节点变化同步至数据库。
进一步,所述在微服务的节点发生变化时,根据该微服务的策略,同步微服务节点变化至其他ZK服务提供者,具体包括:
若该微服务的策略为注册多个ZK,在微服务增加节点时,同步所增加的节点地址至其他ZK服务提供者,在微服务删除节点时,同步删除其他ZK服务提供者中对应的节点地址;
若该微服务的策略为只注册一个ZK,在微服务增加节点时,若确定微服务在该ZK中的节点数目大于或等于该微服务策略中配置的最小数目,则删除该ZK中对应其它ZK服务提供者节点的地址,在微服务删除节点时,若确定微服务在该ZK中的节点数目小于该微服务策略中配置的最小数目,报警并获取其它ZK服务提供者节点的地址至该ZK中。
进一步,所述将各ZK服务提供者的节点变化同步至数据库,具体包括:
将各ZK服务提供者的节点变化写入主机房的数据库,由主机房的数据库将数据同步至备用数据库。
进一步,所述监控ZK服务提供者处各个微服务的节点变化之前,还包括:
获取所有ZK服务提供者的节点状态信息,并存储至数据库。
第二方面,本发明实施例还提供一种微服务的双活处理装置,包括:
监控单元,用于监控ZK服务提供者处各个微服务的节点变化;
同步单元,用于在微服务的节点发生变化时,根据该微服务的策略,同步微服务节点变化至其他ZK服务提供者;
备份单元,用于将各ZK服务提供者的节点变化同步至数据库。
进一步,所述同步单元具体用于:
若该微服务的策略为注册多个ZK,在微服务增加节点时,同步所增加的节点地址至其他ZK服务提供者,在微服务删除节点时,同步删除其他ZK服务提供者中对应的节点地址;
若该微服务的策略为只注册一个ZK,在微服务增加节点时,若确定微服务在该ZK中的节点数目大于或等于该微服务策略中配置的最小数目,则删除该ZK中对应其它ZK服务提供者节点的地址,在微服务删除节点时,若确定微服务在该ZK中的节点数目小于该微服务策略中配置的最小数目,报警并获取其它ZK服务提供者节点的地址至该ZK中。
进一步,所述备份单元具体用于:
将各ZK服务提供者的节点变化写入主机房的数据库,由主机房的数据库将数据同步至备用数据库。
进一步,所述备份单元还用于:
在监控单元监控ZK服务提供者处各个微服务的节点变化之前,获取所有ZK服务提供者的节点状态信息,并存储至数据库。
第三方面,本发明实施例还提供一种微服务的双活处理系统,包括:
分别属于至少两个机房的至少两个ZK服务器,用于提供ZK服务;
至少一个双活处理装置,用于监控ZK服务提供者处各个微服务的节点变化;在微服务的节点发生变化时,根据该微服务的策略,同步微服务节点变化至其他ZK服务提供者;将各ZK服务提供者的节点变化同步至数据库。
进一步,所述双活处理装置在微服务的节点发生变化时,根据该微服务的策略,同步微服务节点变化至其他ZK服务提供者,具体包括:
若该微服务的策略为注册多个ZK,在微服务增加节点时,同步所增加的节点地址至其他ZK服务提供者,在微服务删除节点时,同步删除其他ZK服务提供者中对应的节点地址;
若该微服务的策略为只注册一个ZK,在微服务增加节点时,若确定微服务在该ZK中的节点数目大于或等于该微服务策略中配置的最小数目,则删除该ZK中对应其它ZK服务提供者节点的地址,在微服务删除节点时,若确定微服务在该ZK中的节点数目小于该微服务策略中配置的最小数目,报警并获取其它ZK服务提供者节点的地址至该ZK中。
进一步,所述双活处理装置将各ZK服务提供者的节点变化同步至数据库,具体包括:
将各ZK服务提供者的节点变化写入主机房的数据库,由主机房的数据库将数据同步至备用数据库。
进一步,所述双活处理装置还用于:
在监控ZK服务提供者处各个微服务的节点变化之前,获取所有ZK服务提供者的节点状态信息,并存储至数据库。
第四方面,本发明实施例还相应一种设备,包括处理器和存储器;
所述存储器包含可由所述处理器执行的指令以使得所述处理器执行如第一方面中所述的方法。
第五方面,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于实现如第一方面中所述的方法。
本发明实施例提供一种微服务的双活处理方法、装置及系统、设备、存储介质,该方法监控ZK服务提供者处各个微服务的节点变化,并在微服务的节点发生变化时,根据该微服务的策略,同步微服务节点变化至其他ZK服务提供者并将各ZK服务提供者的节点变化同步至数据库。由于多个ZK服务提供者中各个微服务的节点变化能够同步,所以在主机房出现问题时,其它机房能够实现热切换,用户感觉不到切换的过程,通过,主机房和备用机房都能够为用户提供服务,提高容灾性和用户体验的同时,提高了服务器利用率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明实施例提供的微服务的双活处理方法流程图;
图2为本发明实施例提供的具体实施例中的微服务的双活处理示意图;
图3为本发明实施例提供的另一具体实施例中的微服务的双活处理示意图;
图4为本发明实施例提供的微服务的双活处理装置结构示意图;
图5为本发明实施例提供的微服务的双活处理系统结构示意图;
图6为本发明实施例提供的微服务的双活处理设备结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
请参考图1,本发明实施例提供的微服务的双活处理方法,包括:
步骤S101、监控ZK服务提供者处各个微服务的节点变化;
步骤S102、在微服务的节点发生变化时,根据该微服务的策略,同步微服务节点变化至其他ZK服务提供者;
步骤S103、将各ZK服务提供者的节点变化同步至数据库。
由于多个ZK服务提供者中各个微服务的节点变化能够同步,所以在主机房出现问题时,其它机房能够实现热切换,用户感觉不到切换的过程,通过,主机房和备用机房都能够为用户提供服务,提高容灾性和用户体验的同时,提高了服务器利用率。
进一步,步骤S102中,在微服务的节点发生变化时,根据该微服务的策略,同步微服务节点变化至其他ZK服务提供者,具体包括:
若该微服务的策略为注册多个ZK,在微服务增加节点时,同步所增加的节点地址至其他ZK服务提供者,在微服务删除节点时,同步删除其他ZK服务提供者中对应的节点地址;
若该微服务的策略为只注册一个ZK,在微服务增加节点时,若确定微服务在该ZK中的节点数目大于或等于该微服务策略中配置的最小数目,则删除该ZK中对应其它ZK服务提供者节点的地址,在微服务删除节点时,若确定微服务在该ZK中的节点数目小于该微服务策略中配置的最小数目,报警并获取其它ZK服务提供者节点的地址至该ZK中。
微服务的策略表里通常包括:机房信息、环境信息、调用地址、策略数、是否写入ZK等多元化配置,可以根据系统需求灵活生成满足需求的策略数据。
如图2所示,图2中包括两个机房和4个微服务作为示例,在微服务进行注册时,根据微服务的策略,可能该微服务只注册一个ZK,例如微服务1、微服务2、微服务3,也可以该微服务注册两个ZK,例如微服务4,为实现两个服务器同步进行服务,可以按照如下方法进行处理:
对于注册两个ZK的微服务:
在微服务增加节点时,同步所增加的节点地址至其他ZK服务提供者,例如,微服务4在ZK1增加节点,由于微服务4的策略是注册两个ZK,则获取微服务4在ZK1的节点地址,并同步给ZK2,则微服务4在ZK2处被访问的其实是ZK1的微服务4节点;
在微服务删除节点时,同步删除其他ZK服务提供者中对应的节点地址,例如,微服务4删除ZK1的节点,则同时将ZK2中对应所删除的节点的地址也删除掉;
当ZK1的机房出现故障时,可以相当于微服务4删除ZK1中的所有节点,此时,若微服务4仅在ZK1有节点,在ZK2中均通过相应地址调用的ZK1的节点,则相应删除ZK2中对应ZK1的节点的地址,该微服务4暂停服务。
对于注册一个ZK的微服务:
在微服务增加节点时,在微服务增加节点时,若确定微服务在该ZK中的节点数目大于或等于该微服务策略中配置的最小数目,则删除该ZK中对应其它ZK服务提供者节点的地址,在微服务删除节点时,若确定微服务在该ZK中的节点数目小于该微服务策略中配置的最小数目,报警并获取其它ZK服务提供者节点的地址至该ZK中。
例如,微服务1在ZK1和ZK2中各有一个节点,且微服务1策略中配置的最小数目为1,若微服务1删除ZK1中的节点,则微服务1在ZK1中的节点数目为0,小于微服务1策略中配置的最小数目,此时,则需要获取微服务1在ZK2中的节点的地址,配置到ZK1中,使得微服务1在ZK1中仍能够调用节点,即,微服务1在ZK1中通过ZK2的节点的地址调用ZK2中的节点;在微服务1仅在ZK2中有节点,在ZK1中使用ZK2的节点的地址时,若该微服务1在ZK1中增加节点,则微服务1在ZK1中的节点数目为1,等于微服务1策略中配置的最小数目,此时,删除微服务1在ZK1中配置的ZK2中节点的地址,从而减少跨机房的调用。
如图3所示,实现该方法的双活处理装置,可以只设置一个,设置在其中一个机房中,也可以在多个机房中均设置有双活处理装置,在进行跨机房的数据或命令交互时,需要通过机房之间的微服务网关实现。
进一步,步骤S103中,将各ZK服务提供者的节点变化同步至数据库,具体包括:
将各ZK服务提供者的节点变化写入主机房的数据库,由主机房的数据库将数据同步至备用数据库。
即使在多个机房中均设置有双活处理装置,各个双活处理装置均更新主机房的数据库中的相应数据,再由主机房择机备份到备用数据库中。
在双活处理装置启动时,在监控ZK服务提供者处各个微服务的节点变化之前,可以先获取所有ZK服务提供者的节点状态信息,并存储至数据库,从而完善初始信息。
通过该方法,整合了系统资源,使得系统的服务能力是双倍的,并可以实现公司的核心业务7*24小时的不间断运行,提升了用户体验,同时,通过双活实现了业务量的分流,实现的系统的高可用,并通过Zookeeper的ZAB协议做数据同步,可以实时监控数据的变化。
应当注意,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本发明实施例还相应提供一种微服务的双活处理装置,如图4所示,包括:
监控单元401,用于监控ZK服务提供者处各个微服务的节点变化;
同步单元402,用于在微服务的节点发生变化时,根据该微服务的策略,同步微服务节点变化至其他ZK服务提供者;
备份单元403,用于将各ZK服务提供者的节点变化同步至数据库。
该装置中,监控单元401也可以独立设置为一个单独的设备。
进一步,同步单元402具体用于:
若该微服务的策略为注册多个ZK,在微服务增加节点时,同步所增加的节点地址至其他ZK服务提供者,在微服务删除节点时,同步删除其他ZK服务提供者中对应的节点地址;
若该微服务的策略为只注册一个ZK,在微服务增加节点时,若确定微服务在该ZK中的节点数目大于或等于该微服务策略中配置的最小数目,则删除该ZK中对应其它ZK服务提供者节点的地址,在微服务删除节点时,若确定微服务在该ZK中的节点数目小于该微服务策略中配置的最小数目,报警并获取其它ZK服务提供者节点的地址至该ZK中。
进一步,备份单元403具体用于:
将各ZK服务提供者的节点变化写入主机房的数据库,由主机房的数据库将数据同步至备用数据库。
进一步,备份单元403还用于:
在监控单元监控ZK服务提供者处各个微服务的节点变化之前,获取所有ZK服务提供者的节点状态信息,并存储至数据库。
应当理解,该装置中记载的诸单元或模块与参考图1描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征同样适用于该装置及其中包含的单元,在此不再赘述。该装置可以预先实现在电子设备的浏览器或其他安全应用中,也可以通过下载等方式而加载到电子设备的浏览器或其安全应用中。该装置中的相应单元可以与电子设备中的单元相互配合以实现本申请实施例的方案。
本发明实施例还相应提供一种微服务的双活处理系统,如图5所示,包括:
分别属于至少两个机房的至少两个ZK服务器501,用于提供ZK服务;
至少一个双活处理装置502,用于监控ZK服务提供者处各个微服务的节点变化;在微服务的节点发生变化时,根据该微服务的策略,同步微服务节点变化至其他ZK服务提供者;将各ZK服务提供者的节点变化同步至数据库。
进一步,双活处理装置502在微服务的节点发生变化时,根据该微服务的策略,同步微服务节点变化至其他ZK服务提供者,具体包括:
若该微服务的策略为注册多个ZK,在微服务增加节点时,同步所增加的节点地址至其他ZK服务提供者,在微服务删除节点时,同步删除其他ZK服务提供者中对应的节点地址;
若该微服务的策略为只注册一个ZK,在微服务增加节点时,若确定微服务在该ZK中的节点数目大于或等于该微服务策略中配置的最小数目,则删除该ZK中对应其它ZK服务提供者节点的地址,在微服务删除节点时,若确定微服务在该ZK中的节点数目小于该微服务策略中配置的最小数目,报警并获取其它ZK服务提供者节点的地址至该ZK中。
进一步,双活处理装置502将各ZK服务提供者的节点变化同步至数据库,具体包括:
将各ZK服务提供者的节点变化写入主机房的数据库,由主机房的数据库将数据同步至备用数据库。
进一步,双活处理装置502还用于:
在监控ZK服务提供者处各个微服务的节点变化之前,获取所有ZK服务提供者的节点状态信息,并存储至数据库。
下面参考图6,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。
如图6所示,计算机系统包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统操作所需的各种程序和数据。CPU601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考图1描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行图1的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括XX单元、YY单元以及ZZ单元。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,XX单元还可以被描述为“用于XX的单元”。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本申请的公式输入方法。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (11)

1.一种微服务的双活处理方法,其特征在于,包括:
监控ZK服务提供者处各个微服务的节点变化;
在微服务的节点发生变化时,根据该微服务的策略,同步微服务节点变化至其他ZK服务提供者;
将各ZK服务提供者的节点变化同步至数据库;
其中,所述在微服务的节点发生变化时,根据该微服务的策略,同步微服务节点变化至其他ZK服务提供者,具体包括:
若该微服务的策略为注册多个ZK,在微服务增加节点时,同步所增加的节点地址至其他ZK服务提供者,在微服务删除节点时,同步删除其他ZK服务提供者中对应的节点地址;
若该微服务的策略为只注册一个ZK,在微服务增加节点时,若确定微服务在该ZK中的节点数目大于或等于该微服务策略中配置的最小数目,则删除该ZK中对应其它ZK服务提供者节点的地址,在微服务删除节点时,若确定微服务在该ZK中的节点数目小于该微服务策略中配置的最小数目,报警并获取其它ZK服务提供者节点的地址至该ZK中。
2.如权利要求1所述的方法,其特征在于,所述将各ZK服务提供者的节点变化同步至数据库,具体包括:
将各ZK服务提供者的节点变化写入主机房的数据库,由主机房的数据库将数据同步至备用数据库。
3.如权利要求1所述的方法,其特征在于,所述监控ZK服务提供者处各个微服务的节点变化之前,还包括:
获取所有ZK服务提供者的节点状态信息,并存储至数据库。
4.一种微服务的双活处理装置,其特征在于,包括:
监控单元,用于监控ZK服务提供者处各个微服务的节点变化;
同步单元,用于在微服务的节点发生变化时,根据该微服务的策略,同步微服务节点变化至其他ZK服务提供者;
备份单元,用于将各ZK服务提供者的节点变化同步至数据库;
其中,所述同步单元具体用于:
若该微服务的策略为注册多个ZK,在微服务增加节点时,同步所增加的节点地址至其他ZK服务提供者,在微服务删除节点时,同步删除其他ZK服务提供者中对应的节点地址;
若该微服务的策略为只注册一个ZK,在微服务增加节点时,若确定微服务在该ZK中的节点数目大于或等于该微服务策略中配置的最小数目,则删除该ZK中对应其它ZK服务提供者节点的地址,在微服务删除节点时,若确定微服务在该ZK中的节点数目小于该微服务策略中配置的最小数目,报警并获取其它ZK服务提供者节点的地址至该ZK中。
5.如权利要求4所述的装置,其特征在于,所述备份单元具体用于:
将各ZK服务提供者的节点变化写入主机房的数据库,由主机房的数据库将数据同步至备用数据库。
6.如权利要求4所述的装置,其特征在于,所述备份单元还用于:
在监控单元监控ZK服务提供者处各个微服务的节点变化之前,获取所有ZK服务提供者的节点状态信息,并存储至数据库。
7.一种微服务的双活处理系统,其特征在于,包括:
分别属于至少两个机房的至少两个ZK服务器,用于提供ZK服务;
至少一个双活处理装置,用于监控ZK服务提供者处各个微服务的节点变化;在微服务的节点发生变化时,根据该微服务的策略,同步微服务节点变化至其他ZK服务提供者;将各ZK服务提供者的节点变化同步至数据库;
其中,所述双活处理装置在微服务的节点发生变化时,根据该微服务的策略,同步微服务节点变化至其他ZK服务提供者,具体包括:
若该微服务的策略为注册多个ZK,在微服务增加节点时,同步所增加的节点地址至其他ZK服务提供者,在微服务删除节点时,同步删除其他ZK服务提供者中对应的节点地址;
若该微服务的策略为只注册一个ZK,在微服务增加节点时,若确定微服务在该ZK中的节点数目大于或等于该微服务策略中配置的最小数目,则删除该ZK中对应其它ZK服务提供者节点的地址,在微服务删除节点时,若确定微服务在该ZK中的节点数目小于该微服务策略中配置的最小数目,报警并获取其它ZK服务提供者节点的地址至该ZK中。
8.如权利要求7所述的系统,其特征在于,所述双活处理装置将各ZK服务提供者的节点变化同步至数据库,具体包括:
将各ZK服务提供者的节点变化写入主机房的数据库,由主机房的数据库将数据同步至备用数据库。
9.如权利要求7所述的系统,其特征在于,所述双活处理装置还用于:
在监控ZK服务提供者处各个微服务的节点变化之前,获取所有ZK服务提供者的节点状态信息,并存储至数据库。
10.一种设备,包括处理器和存储器;其特征在于:
所述存储器包含可由所述处理器执行的指令以使得所述处理器执行如权利要求1-3任一所述的方法。
11.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于实现如权利要求1-3任一所述的方法。
CN201810891357.1A 2018-08-07 2018-08-07 微服务的双活处理方法、装置及系统、设备、存储介质 Active CN109324942B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810891357.1A CN109324942B (zh) 2018-08-07 2018-08-07 微服务的双活处理方法、装置及系统、设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810891357.1A CN109324942B (zh) 2018-08-07 2018-08-07 微服务的双活处理方法、装置及系统、设备、存储介质

Publications (2)

Publication Number Publication Date
CN109324942A CN109324942A (zh) 2019-02-12
CN109324942B true CN109324942B (zh) 2022-06-07

Family

ID=65264237

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810891357.1A Active CN109324942B (zh) 2018-08-07 2018-08-07 微服务的双活处理方法、装置及系统、设备、存储介质

Country Status (1)

Country Link
CN (1) CN109324942B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110633175B (zh) * 2019-09-27 2020-07-28 掌阅科技股份有限公司 基于微服务的多机房数据处理方法、电子设备及存储介质
CN110673941B (zh) * 2019-09-27 2020-07-17 掌阅科技股份有限公司 多机房中微服务的迁移方法、电子设备及存储介质
CN111817895B (zh) * 2020-07-14 2023-04-07 济南浪潮数据技术有限公司 一种主控节点切换方法、装置、设备及存储介质
CN112671882B (zh) * 2020-12-18 2022-03-01 上海安畅网络科技股份有限公司 一种基于微服务的同城双活系统和方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103516734A (zh) * 2012-06-20 2014-01-15 阿里巴巴集团控股有限公司 数据处理方法、设备和系统
CN105610947A (zh) * 2015-12-30 2016-05-25 青岛海尔智能家电科技有限公司 一种高可用分布式队列服务实现方法、装置和系统
CN106506605A (zh) * 2016-10-14 2017-03-15 华南理工大学 一种基于微服务架构的SaaS应用构建方法
CN106878472A (zh) * 2017-04-20 2017-06-20 广东马良行科技发展有限公司 一种分布式集群数据服务方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9886357B2 (en) * 2015-10-11 2018-02-06 International Business Machines Corporation Selecting master time of day for maximum redundancy

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103516734A (zh) * 2012-06-20 2014-01-15 阿里巴巴集团控股有限公司 数据处理方法、设备和系统
CN105610947A (zh) * 2015-12-30 2016-05-25 青岛海尔智能家电科技有限公司 一种高可用分布式队列服务实现方法、装置和系统
CN106506605A (zh) * 2016-10-14 2017-03-15 华南理工大学 一种基于微服务架构的SaaS应用构建方法
CN106878472A (zh) * 2017-04-20 2017-06-20 广东马良行科技发展有限公司 一种分布式集群数据服务方法及系统

Also Published As

Publication number Publication date
CN109324942A (zh) 2019-02-12

Similar Documents

Publication Publication Date Title
CN109324942B (zh) 微服务的双活处理方法、装置及系统、设备、存储介质
CN113037560B (zh) 业务流量切换方法及装置、存储介质、电子设备
CN110784350B (zh) 一种实时高可用集群管理系统的设计方法
CN109753364A (zh) 一种基于网络的分布式锁的实现方法、设备及介质
CN102664747B (zh) 一种云计算平台系统
CN111130835A (zh) 数据中心双活系统、切换方法、装置、设备及介质
CN101207517B (zh) 一种分布式企业服务总线节点可靠性维护方法
CN112732491B (zh) 数据处理系统、基于数据处理系统的业务数据处理方法
CN112190924A (zh) 一种数据容灾方法、装置及计算机可读介质
WO2016082594A1 (zh) 数据更新处理方法及装置
CN102957623A (zh) 一种边界网关协议邻居的维护方法和设备
CN110348826A (zh) 异地多活容灾方法、系统、设备及可读存储介质
CN111694845A (zh) 一种基于Redis的标识生成方法和装置
CN113127499B (zh) 一种基于区块链的微服务方法、设备及介质
CN102045187A (zh) 一种利用检查点实现高可用性系统的方法和设备
CN110674192A (zh) 一种Redis高可用VIP漂移方法、终端及存储介质
CN113766004A (zh) 一种基于多云平台的灾备系统、方法及存储介质
CN116185697B (zh) 容器集群管理方法、装置、系统、电子设备及存储介质
CN111614702B (zh) 一种边缘计算方法以及边缘计算系统
CN116346834A (zh) 一种会话同步方法、装置、计算设备及计算机存储介质
CN111737043A (zh) 数据库容灾方法、设备、服务器和存储介质
CN115129676A (zh) 数据同步方法、装置、设备及介质
CN107590032A (zh) 存储集群故障转移的方法及存储集群系统
CN113301177A (zh) 一种域名防封禁方法及装置
CN112256484A (zh) 一种数据备份的方法、装置和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant