CN115208743A - 基于etcd的跨站点集群的部署方法和装置 - Google Patents

基于etcd的跨站点集群的部署方法和装置 Download PDF

Info

Publication number
CN115208743A
CN115208743A CN202210840717.1A CN202210840717A CN115208743A CN 115208743 A CN115208743 A CN 115208743A CN 202210840717 A CN202210840717 A CN 202210840717A CN 115208743 A CN115208743 A CN 115208743A
Authority
CN
China
Prior art keywords
cluster
site
standby
current
current main
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.)
Pending
Application number
CN202210840717.1A
Other languages
English (en)
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202210840717.1A priority Critical patent/CN115208743A/zh
Publication of CN115208743A publication Critical patent/CN115208743A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Abstract

本申请实施例公开了一种基于ETCD的跨站点集群的部署方法和装置,其中,该方法包括:基于当前主集群搭建与该当前主集群对应的备用集群;将该当前主集群的数据同步地备份到该备用集群;以及在该当前主集群发生站点级故障时,将与该当前主集群进行的通信连接切换到与该备用集群进行通信连接,其中,该备用集群切换为新的主集群,该当前主集群切换为待恢复的备用集群。通过本申请实施例,当站点级故障发生时能够及时恢复对外服务,从而提升了整个分布式服务的稳定性,大幅降低故障发生时对业务的影响,并且能够有效保障数据的一致性,由此保证了ETCD跨站点的高可用性。

Description

基于ETCD的跨站点集群的部署方法和装置
技术领域
本申请涉及大数据领域,尤其涉及一种基于ETCD的跨站点集群的部署方法和装置。
背景技术
随着业务量的不断增长,在大数据爆发的时代,对于系统高可用的能力要求不断提升。ETCD作为业界领先的分布式存储系统,经常作为协调器出现在各种大型分布式系统框架中。
在目前的ETCD集群跨站点部署方案中,基于Raft协议规则,由于站点的节点数一般为单数,因此通常会出现多数节点和少数节点分站点部署的场景,即,ETCD集群包括的站点中总一个站点会部署较多的ETCD节点。
应该注意,上面对技术背景的介绍只是为了方便对本申请的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本申请的背景技术部分进行了阐述而认为上述技术方案为本领域技术人员所公知。
发明内容
发明人发现,在上述现有的ETCD集群跨站点部署方案中,在具有少数节点的站点发生故障时,该站点属于的ETCD集群仍然可以提供通信服务,但是,在具有多数节点的站点发生故障时,由于由此会触发Raft协议的多数派选举规则,因此会导致该站点属于的整个ETCD集群都不可用;也就是说,在发生站点级故障时,会有一半的概率导致通信中断而无法再对外提供服务。
为了解决上述技术问题或者类似的问题,本申请实施例提供了一种基于ETCD的跨站点集群的部署方法和装置,用以避免ETCD跨站点部署方案中出现站点级别故障时,无法再对外提供服务,造成业务影响。
本申请实施例提供一种基于ETCD的跨站点集群的部署方法,其中,所述方法包括:基于当前主集群搭建与所述当前主集群对应的备用集群;将所述当前主集群的数据同步地备份到所述备用集群;以及在所述当前主集群发生站点级故障时,将与所述当前主集群进行的通信连接切换到与所述备用集群进行通信连接,其中,所述备用集群切换为新的主集群,所述当前主集群切换为待恢复的备用集群。
在一些实施例中,所述主集群与所述备用集群分别包括第一站点和第二站点,其中,基于当前主集群搭建与所述当前主集群对应的备用集群包括:根据所述当前主集群中的第一站点和第二站点分别包括的节点数量部署所述备用集群中的第一站点和第二站点的节点数量,其中,所述当前主集群中的第一站点和第二站点所包括的节点数量与所述备用集群中的第一站点和第二站点所包括的节点数量成反比。
在一些实施例中,根据所述当前主集群中的第一站点和第二站点分别包括的节点数量部署所述备用集群中的第一站点和第二站点的节点数量包括:将所述备用集群中的第二站点所包括的节点数量部署为所述当前主集群中的第一站点所包括的节点数量;将所述备用集群中的第一站点所包括的节点数量部署为所述当前主集群中的第二站点所包括的节点数量。
在一些实施例中,将所述当前主集群的数据同步地备份到所述备用集群包括:在所述当前主集群中启动Mirror数据同步工具,以触发从所述当前主集群到所述备用集群的数据同步,根据所述数据同步的触发,在所述当前主集群的全量路径中创建第一监听器;根据所述第一监听器的监听结果,使用所述Mirror数据同步工具将所述当前主集群的数据同步地备份到所述备用集群。
在一些实施例中,在将与所述当前主集群进行的通信连接切换到与所述备用集群进行通信连接之前,所述方法还包括:根据用于对所述当前主集群进行心跳检测的第二监听器的监听结果判断所述当前主集群是否发生站点级故障。
在一些实施例中,根据用于对所述当前主集群进行心跳检测的第二监听器的监听结果判断所述当前主集群是否发生站点级故障包括:当所述第二监听器的监听结果为isHealthy时,确定所述当前主集群发生了站点级故障。
在一些实施例中,将与所述当前主集群进行的通信连接切换到与所述备用集群进行通信连接包括:在确定所述当前主集群发生了站点级故障时,断开与所述当前主集群的通信连接;销毁所述第二监听器;在预置的备用集群参数表中获取所述备用集群的集群地址;根据所述备用集群的集群地址,建立与所述备用集群的通信连接。
在一些实施例中,将与所述当前主集群进行的通信连接切换到与所述备用集群进行通信连接还包括:在所述新的主集群中创建用于对所述新的主集群进行心跳检测的新的第二监听器。
在一些实施例中,所述方法还包括:判断是否已经排除所述待恢复的备用集群的故障,在判断结果为已经排除了所述待恢复的备用集群的故障时,所述待恢复的备用集群切换为新的备用集群。
在一些实施例中,所述方法还包括:在所述新的主集群中启动Mirror数据同步工具,以触发从所述新的主集群到所述新的备用集群的数据同步。
本申请实施例还提供一种基于ETCD的跨站点集群的部署装置,其中,所述装置包括:搭建单元,其基于当前主集群搭建与当前主集群对应的备用集群;备份单元,其将所述当前主集群的数据同步地备份到所述备用集群;以及切换单元,其在所述当前主集群发生站点级故障时,将与所述当前主集群进行的通信连接切换到与所述备用集群进行通信连接,其中,所述备用集群切换为新的主集群,所述当前主集群切换为待恢复的备用集群。
本申请实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的基于ETCD的跨站点集群的部署方法。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的基于ETCD的跨站点集群的部署方法。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述的基于ETCD的跨站点集群的部署方法。
本申请实施例的有益效果之一在于,通过搭建与主集群对应的备用集群,并将主集群的数据同步地备份到备用集群,当站点级故障发生时能够及时恢复对外服务,从而提升了整个分布式服务的稳定性,大幅降低故障发生时对业务的影响,并且能够有效保障数据的一致性,由此保证了ETCD跨站点的高可用性。
参照后文的说明和附图,详细公开了本申请的实施方式。应该理解,本申请的实施方式在范围上并不因此而受到限制。在所附权利要求的精神和条款的范围内,本申请的实施方式包括许多改变、修改和等同。
针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其他实施方式中使用,与其他实施方式中的特征相组合,或替代其他实施方式中的特征。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本申请实施例的基于ETCD的跨站点集群的部署方法的一个示意图;
图2是图1的步骤101的示意图;
图3是图1的步骤102的示意图;
图4是图1的步骤103的示意图;
图5是本申请实施例的基于ETCD的跨站点集群的部署方法的另一个示意图;
图6是本申请实施例的基于ETCD的跨站点集群的部署方法的流程图;
图7是本申请实施例的基于ETCD的跨站点集群的部署装置的示意图;
图8是图7的搭建单元的示意图;
图9是图7的备份单元的示意图;
图10是图7的切换单元的示意图。
具体实施方式
参照附图,通过下面的说明书,本申请的前述以及其它特征将变得明显。在说明书和附图中,具体公开了本申请的特定实施方式,其表明了其中可以采用本申请的原则的部分实施方式,应了解的是,本申请不限于所描述的实施方式,相反,本申请包括落入所附权利要求的范围内的全部修改、变型以及等同物。
在本申请实施例中,术语“第一”、“第二”等用于对不同元素从称谓上进行区分,但并不表示这些元素的空间排列或时间顺序等,这些元素不应被这些术语所限制。术语“和/或”包括相关联列出的术语的一种或多个中的任何一个和所有组合。术语“包含”、“包括”、“具有”等是指所陈述的特征、元素、元件或组件的存在,但并不排除存在或添加一个或多个其他特征、元素、元件或组件。
在本申请实施例中,单数形式“一”、“该”等包括复数形式,应广义地理解为“一种”或“一类”而并不是限定为“一个”的含义;此外术语“所述”应理解为既包括单数形式也包括复数形式,除非上下文另外明确指出。此外术语“根据”应理解为“至少部分根据……”,术语“基于”应理解为“至少部分基于……”,除非上下文另外明确指出。
下面参照附图对本申请实施例的实施方式进行说明。
本申请实施例提供了一种基于ETCD的跨站点集群的部署方法。图1是本申请实施例的基于ETCD的跨站点集群的部署方法的一个示意图。
如图1所示,基于ETCD的跨站点集群的部署方法可以包括:
101,基于当前主集群搭建与该当前主集群对应的备用集群;
102,将该当前主集群的数据同步地备份到该备用集群;
103,在该当前主集群发生站点级故障时,将与该当前主集群进行的通信连接切换到与该备用集群进行通信连接。
其中,在上述切换完成后该备用集群成为新的主集群,该当前主集群成为待恢复的备用集群。
根据上述实施例,通过搭建与主集群对应的备用集群,并将主集群的数据同步地备份到备用集群,当站点级故障发生时能够及时恢复对外服务,从而提升了整个分布式服务(ETCD)的稳定性,大幅降低故障发生时对业务的影响,并且能够有效保障数据的一致性,由此保证了ETCD跨站点的高可用性。
在本申请的一些实施例中,基于ETCD的集群(下文简称为“ETCD集群”)中的每个站点可以包括一个或多个节点,如果站点中的失效节点的数量过多而使得整个站点发生故障,则称为发生站点级故障,也就是说,站点级故障是指该ETCD集群(即,当前主集群)的某个站点发生故障,而不是指某个站点中的某个或某些节点失效。
在本申请的一些实施例中,ETCD集群通常包括两个站点(第一站点和第二站点),因此,当前主集群以及根据该主集群搭建的备用集群也分别包括第一站点和第二站点。
图2是图1的步骤101的示意图。
如图2所示,根据当前主集群搭建与该当前主集群对应的备用集群(步骤101)可以包括:
201,根据该当前主集群中的第一站点和第二站点分别包括的节点数量部署该备用集群中的第一站点和第二站点的节点数量,以使该备用集群中的第一站点和第二站点所包括的节点数量与该当前主集群中的第一站点和第二站点所包括的节点数量成反比。
具体地,如果当前主集群中的第一站点A包括的节点数量比当前主集群中的第二站点B包括的节点数量多,那么搭建的备用集群的第一站点A包括的节点数量比备用集群的第二站点B包括的节点数量少。例如,当前主集群中的第一站点A包括的节点数量为N1,当前主集群中的第二站点B包括的节点数量为N2,其中,N1>N2,那么搭建的备用集群中的第一站点A的节点数量为N3,备用集群中的第二站点B的节点数量为N4,其中,N3<N4。也就是说,无论是ETCD集群中的第一站点A还是第二站点B出现站点级故障,都能保证另外一站点存在多数派节点。
由此,通过使得备用集群的站点中的节点数量与当前主集群的站点中的节点数量成反比来反向搭建备用集群,从而保障了集群整体的高可用能力。
在上述实施例中,进一步地,步骤201可以包括:将备用集群中的第二站点所包括的节点数量部署为当前主集群中的第一站点所包括的节点数量;并将备用集群中的第一站点所包括的节点数量部署为当前主集群中的第二站点所包括的节点数量。
具体地,当前主集群中的第一站点A包括的节点数量为M1,当前主集群中的第二站点B包括的节点数量为M2,那么搭建的备用集群中的第一站点A的节点数量为M2,备用集群中的第二站点B的节点数量为M1。
由此,通过反向搭建同等数量节点的备用集群,可提高站点的高可用性。
在本申请中,仅例举了通过两个站点的节点数量的反向设置来搭建备用集群的示例,但本申请不限于此,所有根据主集群来搭建与其对应的备用集群的方式都包括在其中。
图3是图1的步骤102的示意图。
如图3所示,将当前主集群的数据同步地备份到备用集群可以包括:
301,在当前主集群中启动Mirror数据同步工具,以触发从该当前主集群到备用集群的数据同步;
302,根据数据同步的触发,在该当前主集群的全量路径中创建监听器(第一监听器);
303,根据该第一监听器的监听结果,使用Mirror数据同步工具将该当前主集群的数据同步地备份到该备用集群。
由此,利用监听器的watch机制的高性能实时响应,可在监听到主集群中存在数据变更时,通过Mirror数据同步工具在毫秒级别的时间可即完成数据同步,不会影响对外服务。
在本申请的一些实施例中,在步骤103之前,基于ETCD的跨站点集群的部署方法还可以包括:
根据用于对当前主集群进行心跳检测的监听器(第二监听器)的监听结果判断当前主集群是否发生站点级故障。
其中,第二监听器进行心跳检测的watch机制与现在技术类似,在此不再赘述。
具体地,在该第二监听器的监听结果为isHealthy时,确定当前主集群发生了站点级故障。
图4是图1的步骤103的示意图。
在上述实施例中,根据判断结果来确定是否需要进行切换,在需要进行切换时,进行如图4所示的步骤。
如图4所示,在当前主集群发生站点级故障时,将与当前主集群进行的通信连接切换到与备用集群进行通信连接可以包括:
401,在确定所述当前主集群发生了站点级故障时,断开与当前主集群的通信连接;
402,销毁第二监听器;
403,在预置的备用集群参数表中获取备用集群的集群地址;
其中,备用集群参数表是预先已存储的。
404,根据该备用集群的集群地址,建立与备用集群的通信连接。
由此,通过此方法的来进行主备切换,整个切换流程快速而高效,可整体耗时秒级;主备切换后,备用集群作为新的主集群对外提供服务,而当前主集群切换为待恢复的备用集群。
如图4所示,在当前主集群发生站点级故障时,将与当前主集群进行的通信连接切换到与备用集群进行通信连接还可以包括:
405,在新的主集群中创建用于对该新的主集群进行心跳检测的新的监听器(新的第二监听器)。
由此,可进一步通过新的第二监听器的watch机制来实时监测该新的主集群是否发生故障,从而提高整个分布式服务的稳定性。
图5是本申请实施例的基于ETCD的跨站点集群的部署方法的另一个示意图。
如图5所示,基于ETCD的跨站点集群的部署方法可以包括:
501,基于当前主集群搭建与当前主集群对应的备用集群;
502,将该当前主集群的数据同步地备份到该备用集群;
503,在该当前主集群发生站点级故障时,将与该当前主集群进行的通信连接切换到与该备用集群进行通信连接;其中,在上述切换完成后该备用集群成为新的主集群,该当前主集群成为待恢复的备用集群。
上述501~503是与图1中的101~103分别对应的方法步骤,在此对501~503不再赘述。
在本申请的一些实施例中,如图5所示,除了上述501~503,基于ETCD的跨站点集群的部署方法还可以包括:
504,判断是否已经排除该待恢复的备用集群的故障;
505,在判断结果为已经排除了该待恢复的备用集群的故障时,该待恢复的备用集群切换为新的备用集群。
由此,在保障对外服务连续性的同时,能够提供足够的时间给运维人员排查问题,并恢复出现故障的ETCD集群(待恢复的备用集群),并且,可以进一步给新的主集群提供新的备用集群,从而避免新主集群发生站点级故障时,整个ETCD集群都不可用的问题,由此进一步保证了整个分布式服务的稳定性。
在上述实施例中,如图5所示,基于ETCD的跨站点集群的部署方法还可以包括:
506,在该新的主集群中启动Mirror数据同步工具,以触发从新的主集群到新的备用集群的数据同步。
由此,可实现从新的主集群到新的备用集群的数据反向同步,从而利用集群数据的高效同步机制与双向可用性,进一步有效保障了数据的一致性。
下面对基于ETCD的跨站点集群的部署方法的具体实施方式进行详细说明。
图6是本申请实施例的基于ETCD的跨站点集群的部署方法的流程图。
如图6所示,该基于ETCD的跨站点集群的部署方法可以包括:
601,基于当前主集群搭建与该当前主集群对应的备用集群。
例如,将备用集群中的第二站点所包括的节点数量部署为当前主集群中的第一站点所包括的节点数量;并将备用集群中的第一站点所包括的节点数量部署为当前主集群中的第二站点所包括的节点数量,由此根据主集群来搭建备用集群。
602,在当前主集群中启动Mirror数据同步工具,以根据watch机制的监听结果来将数据从当前主集群到同步地备份到备用集群。
603,根据对当前主集群进行心跳检测的监听器的监听结果判断当前主集群是否发生了站点级故障,如果是,则进入604,如果否,则进行循环判断。
604,断开与当前主集群的通信连接,该当前主集群成为待恢复的备用集群;
605,销毁对当前主集群进行心跳检测的监听器;
606,获取备用集群的集群地址;
607,根据该备用集群的集群地址建立与备用集群的通信连接,该备用集群成为新的主集群;
608,在该新的主集群中创建用于对新的主集群进行心跳检测的新的监听器;
609,在已经排除了待恢复的备用集群的故障时,该待恢复的备用集群切换为新的备用集群;
610,在该新的主集群中启动Mirror数据同步工具,以触发从新的主集群到新的备用集群的数据同步。
根据上述实施例,通过该跨站点高可用方法,有效保障了当站点级故障发生时,在数秒之内即可恢复对外服务;并且,在保障服务连续性的同时,提供足够的时间给运维人员排查问题,并恢复故障的ETCD集群;并且,利用集群数据的高效同步机制与双向可用性,有效保障了数据的一致性,在全局来说提升了整个分布式服务的稳定性,大幅降低故障发生时对业务的影响。
上述具体应用的实施仅为举例,其余实施方式不再一一赘述。
本申请实施例还提供一种基于ETCD的跨站点集群的部署装置,如下面的实施例所述。由于基于ETCD的跨站点集群的部署装置所解决问题的原理与基于ETCD的跨站点集群的部署方法相似,因此基于ETCD的跨站点集群的部署装置的实施可以参见基于ETCD的跨站点集群的部署方法的实施,重复之处不再赘述。
图7是本申请实施例的基于ETCD的跨站点集群的部署装置的示意图。如图7所示,基于ETCD的跨站点集群的部署装置700可以包括:搭建单元701、备份单元702和切换单元703;其中,搭建单元701基于当前主集群搭建与当前主集群对应的备用集群;备份单元702将当前主集群的数据同步地备份到备用集群;切换单元703在当前主集群发生站点级故障时,将与当前主集群进行的通信连接切换到与备用集群进行通信连接。其中,备用集群切换为新的主集群,当前主集群切换为待恢复的备用集群。
根据上述实施例,通过搭建与主集群对应的备用集群,并将主集群的数据同步地备份到备用集群,当站点级故障发生时能够及时恢复对外服务,从而提升了整个分布式服务(ETCD)的稳定性,大幅降低故障发生时对业务的影响,并且能够有效保障数据的一致性,由此保证了ETCD跨站点的高可用性。
图8是图7的搭建单元的示意图。如图8所示,搭建单元701可以包括部署模块7011。
在本申请的一些实施例中,部署模块7011可以根据所述当前主集群中的第一站点和第二站点分别包括的节点数量部署所述备用集群中的第一站点和第二站点的节点数量,以使当前主集群中的第一站点和第二站点所包括的节点数量与备用集群中的第一站点和第二站点所包括的节点数量成反比。具体地,部署模块7011可以将备用集群中的第二站点所包括的节点数量部署为当前主集群中的第一站点所包括的节点数量;并将备用集群中的第一站点所包括的节点数量部署为当前主集群中的第二站点所包括的节点数量。
图9是图7的备份单元的示意图。如图9所示,备份单元702可以包括启动模块7021,创建模块7022,数据同步模块7023。
其中,启动模块7021用于在当前主集群中启动Mirror数据同步工具,以触发从所述当前主集群到所述备用集群的数据同步;创建模块7022用于根据数据同步的触发,在当前主集群的全量路径中创建第一监听器;数据同步模块7023用于根据第一监听器的监听结果,使用Mirror数据同步工具将当前主集群的数据同步地备份到备用集群。
在本申请的一些实施例中,基于ETCD的跨站点集群的部署装置700还可以包括第一判断单元(未图示),其用于对当前主集群进行心跳检测的第二监听器的监听结果判断当前主集群是否发生站点级故障;并且在当第二监听器的监听结果为isHealthy时,判断单元确定当前主集群发生了站点级故障。
图10是图7的切换单元的示意图。如图10所示,切换单元703可以包括断开模块7031,销毁模块7032,获取模块7033,以及连接模块7034。其中,断开模块7031用于在确定当前主集群发生了站点级故障时,断开与当前主集群的通信连接;销毁模块7032用于销毁第二监听器;获取模块7033用于在预置的备用集群参数表中获取备用集群的集群地址;连接模块7034用于根据备用集群的集群地址,建立与备用集群的通信连接。
在本申请的一些实施例中,如图10所示,切换单元703还可以包括创建模块7035,创建模块7035用于在新的主集群中创建用于对新的主集群进行心跳检测的新的第二监听器。
在本申请的一些实施例中,基于ETCD的跨站点集群的部署装置700还可以包括第二判断单元(未图示),其用于判断是否已经排除了待恢复的备用集群的故障,在判断结果为已经排除了待恢复的备用集群的故障时,待恢复的备用集群切换为新的备用集群。
在本申请的一些实施例中,基于ETCD的跨站点集群的部署装置700还可以包括启动单元(未图示),其用于在新的主集群中启动Mirror数据同步工具,以触发从新的主集群到新的备用集群的数据同步。
根据上述实施例,通过该跨站点高可用方法,有效保障了当站点级故障发生时,在数秒之内即可恢复对外服务;并且,在保障服务连续性的同时,提供足够的时间给运维人员排查问题,并恢复故障的ETCD集群;并且,利用集群数据的高效同步机制与双向可用性,有效保障了数据的一致性,在全局来说提升了整个分布式服务的稳定性,大幅降低故障发生时对业务的影响。
本申请实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于ETCD的跨站点集群的部署方法。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于ETCD的跨站点集群的部署方法。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述基于ETCD的跨站点集群的部署方法。
根据上述实施例,通过搭建与主集群对应的备用集群,并将主集群的数据同步地备份到备用集群,当站点级故障发生时能够及时恢复对外服务,从而提升了整个分布式服务(ETCD)的稳定性,大幅降低故障发生时对业务的影响,并且能够有效保障数据的一致性,由此保证了ETCD跨站点的高可用性。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施例而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (14)

1.一种基于ETCD的跨站点集群的部署方法,其特征在于,所述方法包括:
基于当前主集群搭建与所述当前主集群对应的备用集群;
将所述当前主集群的数据同步地备份到所述备用集群;以及
在所述当前主集群发生站点级故障时,将与所述当前主集群进行的通信连接切换到与所述备用集群进行通信连接,其中,所述备用集群切换为新的主集群,所述当前主集群切换为待恢复的备用集群。
2.根据权利要求1所述的跨站点集群的部署方法,其特征在于,所述主集群与所述备用集群分别包括第一站点和第二站点,其中,基于当前主集群搭建与所述当前主集群对应的备用集群包括:
根据所述当前主集群中的第一站点和第二站点分别包括的节点数量部署所述备用集群中的第一站点和第二站点的节点数量,
其中,所述当前主集群中的第一站点和第二站点所包括的节点数量与所述备用集群中的第一站点和第二站点所包括的节点数量成反比。
3.根据权利要求2所述的跨站点集群的部署方法,其特征在于,根据所述当前主集群中的第一站点和第二站点分别包括的节点数量部署所述备用集群中的第一站点和第二站点的节点数量包括:
将所述备用集群中的第二站点所包括的节点数量部署为所述当前主集群中的第一站点所包括的节点数量;
将所述备用集群中的第一站点所包括的节点数量部署为所述当前主集群中的第二站点所包括的节点数量。
4.根据权利要求1所述的跨站点集群的部署方法,其特征在于,将所述当前主集群的数据同步地备份到所述备用集群包括:
在所述当前主集群中启动Mirror数据同步工具,以触发从所述当前主集群到所述备用集群的数据同步,
根据所述数据同步的触发,在所述当前主集群的全量路径中创建第一监听器;
根据所述第一监听器的监听结果,使用所述Mirror数据同步工具将所述当前主集群的数据同步地备份到所述备用集群。
5.根据权利要求1所述的跨站点集群的部署方法,其特征在于,在将与所述当前主集群进行的通信连接切换到与所述备用集群进行通信连接之前,所述方法还包括:
根据用于对所述当前主集群进行心跳检测的第二监听器的监听结果判断所述当前主集群是否发生站点级故障。
6.根据权利要求5所述的跨站点集群的部署方法,其特征在于,根据用于对所述当前主集群进行心跳检测的第二监听器的监听结果判断所述当前主集群是否发生站点级故障包括:
当所述第二监听器的监听结果为isHealthy时,确定所述当前主集群发生了站点级故障。
7.根据权利要求6所述的跨站点集群的部署方法,其特征在于,将与所述当前主集群进行的通信连接切换到与所述备用集群进行通信连接包括:
在确定所述当前主集群发生了站点级故障时,断开与所述当前主集群的通信连接;
销毁所述第二监听器;
在预置的备用集群参数表中获取所述备用集群的集群地址;
根据所述备用集群的集群地址,建立与所述备用集群的通信连接。
8.根据权利要求7所述的跨站点集群的部署方法,其特征在于,将与所述当前主集群进行的通信连接切换到与所述备用集群进行通信连接还包括:
在所述新的主集群中创建用于对所述新的主集群进行心跳检测的新的第二监听器。
9.根据权利要求1所述的跨站点集群的部署方法,其特征在于,所述方法还包括:
判断是否已经排除所述待恢复的备用集群的故障,
在判断结果为已经排除了所述待恢复的备用集群的故障时,所述待恢复的备用集群切换为新的备用集群。
10.根据权利要求9所述的跨站点集群的部署方法,其特征在于,所述方法还包括:
在所述新的主集群中启动Mirror数据同步工具,以触发从所述新的主集群到所述新的备用集群的数据同步。
11.一种基于ETCD的跨站点集群的部署装置,其特征在于,所述装置包括:
搭建单元,其基于当前主集群搭建与当前主集群对应的备用集群;
备份单元,其将所述当前主集群的数据同步地备份到所述备用集群;以及
切换单元,其在所述当前主集群发生站点级故障时,将与所述当前主集群进行的通信连接切换到与所述备用集群进行通信连接,其中,所述备用集群切换为新的主集群,所述当前主集群切换为待恢复的备用集群。
12.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10任一所述方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至10任一所述方法。
14.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至10任一所述方法。
CN202210840717.1A 2022-07-18 2022-07-18 基于etcd的跨站点集群的部署方法和装置 Pending CN115208743A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210840717.1A CN115208743A (zh) 2022-07-18 2022-07-18 基于etcd的跨站点集群的部署方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210840717.1A CN115208743A (zh) 2022-07-18 2022-07-18 基于etcd的跨站点集群的部署方法和装置

Publications (1)

Publication Number Publication Date
CN115208743A true CN115208743A (zh) 2022-10-18

Family

ID=83582498

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210840717.1A Pending CN115208743A (zh) 2022-07-18 2022-07-18 基于etcd的跨站点集群的部署方法和装置

Country Status (1)

Country Link
CN (1) CN115208743A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210004292A1 (en) * 2019-07-03 2021-01-07 EMC IP Holding Company LLC Automatically configuring boot sequence of container systems for disaster recovery
CN113407380A (zh) * 2021-07-14 2021-09-17 安超云软件有限公司 跨集群灾备快速恢复的方法及装置、电子设备和存储介质
CN113515408A (zh) * 2020-04-10 2021-10-19 华为技术有限公司 一种数据容灾方法、装置、设备及介质
CN114584458A (zh) * 2022-03-03 2022-06-03 平安科技(深圳)有限公司 一种基于etcd的集群容灾管理方法、系统、设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210004292A1 (en) * 2019-07-03 2021-01-07 EMC IP Holding Company LLC Automatically configuring boot sequence of container systems for disaster recovery
CN113515408A (zh) * 2020-04-10 2021-10-19 华为技术有限公司 一种数据容灾方法、装置、设备及介质
CN113407380A (zh) * 2021-07-14 2021-09-17 安超云软件有限公司 跨集群灾备快速恢复的方法及装置、电子设备和存储介质
CN114584458A (zh) * 2022-03-03 2022-06-03 平安科技(深圳)有限公司 一种基于etcd的集群容灾管理方法、系统、设备及存储介质

Similar Documents

Publication Publication Date Title
CN108847982B (zh) 一种分布式存储集群及其节点故障切换方法和装置
CN105933407B (zh) 一种实现Redis集群高可用的方法及系统
CN105515812A (zh) 资源的故障处理方法及装置
CN111385107B (zh) 一种服务器的主备切换处理方法及装置
CN104639367A (zh) 一种实现主备服务器切换的方法及系统
CN104506372A (zh) 一种实现主备服务器切换的方法及系统
CN103702065A (zh) 一种视频会议系统的备份系统及方法
US6192485B1 (en) Redundant apparatus
CN112218321B (zh) 主备链路切换方法、装置、通信设备和存储介质
CN113535480A (zh) 数据灾备系统、方法
CN109768884A (zh) 通信系统及其高可用性的实现方法、装置和计算机设备
CN114490565A (zh) 数据库故障处理方法和装置
CN102487332B (zh) 故障处理方法、装置和系统
CN116185697B (zh) 容器集群管理方法、装置、系统、电子设备及存储介质
CN115208743A (zh) 基于etcd的跨站点集群的部署方法和装置
CN114598594B (zh) 一种多集群下应用故障的处理方法、系统、介质和设备
JP2010231257A (ja) 高可用性システム、高可用性システムの対障害対策方法
CN106817238A (zh) 虚拟机修复方法、虚拟机装置、系统及业务功能网元
CN110569303B (zh) 一种适用于多种云环境的MySQL应用层高可用系统及方法
CN104601350A (zh) 一种自动容灾切换方法及装置
CN106326042B (zh) 一种运行状态确定方法及装置
CN100508627C (zh) 一种实现加扰器备份的系统及方法
CN113794765A (zh) 基于文件传输的网闸负载均衡方法及装置
CN112269693A (zh) 一种节点自协调方法、装置和计算机可读存储介质
JP2006229512A (ja) サーバ切替方法,サーバ及びサーバ切替プログラム

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