CN108984349B - 主节点选举方法及装置、介质和计算设备 - Google Patents

主节点选举方法及装置、介质和计算设备 Download PDF

Info

Publication number
CN108984349B
CN108984349B CN201810945208.9A CN201810945208A CN108984349B CN 108984349 B CN108984349 B CN 108984349B CN 201810945208 A CN201810945208 A CN 201810945208A CN 108984349 B CN108984349 B CN 108984349B
Authority
CN
China
Prior art keywords
node
service area
nodes
fault
external arbitration
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
CN201810945208.9A
Other languages
English (en)
Other versions
CN108984349A (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.)
Hangzhou Netease Shuzhifan Technology Co ltd
Original Assignee
Hangzhou Langhe 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 Hangzhou Langhe Technology Co Ltd filed Critical Hangzhou Langhe Technology Co Ltd
Priority to CN201810945208.9A priority Critical patent/CN108984349B/zh
Publication of CN108984349A publication Critical patent/CN108984349A/zh
Application granted granted Critical
Publication of CN108984349B publication Critical patent/CN108984349B/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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2041Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明实施方式提供了一种主节点选举方法,应用于分布式系统,分布式系统包括第一服务区、第二服务区,第一服务区包括第一数量的第一节点,第二服务区包括第二数量的第二节点,该方法包括在第一节点、第二节点与第三数量的外部仲裁节点之间建立连接,其中,第三数量是根据第一数量和第二数量确定的;在第一服务区或第二服务区发生故障的情况下,根据未发生故障的服务区中的节点和外部仲裁节点选举出主节点,其中,未发生故障的服务区为第一服务区或第二服务区中的其中之一。通过本发明无需用户手动操作恢复,从而显著地减少了系统恢复时间,避免了单机房异常时脑裂风险。此外,本发明实施方式还提供了一种主节点选举装置、介质和计算设备。

Description

主节点选举方法及装置、介质和计算设备
技术领域
本发明的实施方式涉及计算机技术领域,更具体地,本发明的实施方式涉及一种主节点选举方法及装置、介质和计算设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
相关技术中,对于数据库,队列等服务来说,需要使用主节点来保证读写操作,这类服务在两个机房时一般采用主备模式,在备机房异常时,主节点正常提供,服务不受影响。而在主机房异常的时候需要程序介入,通过主备切换的方式,让从节点正常提供服务。而在仅有两个机房的情况下,系统很难通过现有机房的异常信息来判断出是哪个机房异常,因此存在脑裂的风险。如图1所示,包括机房A和B,如果中间专线出现异常,对于机房A和B而言,都会发现对方异常。对于从节点来说,专线异常和主机房异常的表现是完全一致的(都是主节点无响应),如果依赖自动恢复,自动恢复程序就会判断服务异常,从而开始自动恢复。但如果此时主节点仍然正常运行,可能只是主从节点之间心跳异常,自动恢复程序仍会判断服务异常,就会发生脑裂问题。
目前,相关技术中为了处理这个场景,在双机房环境时,如果主机房发生异常,需要人工介入来判断实际的异常情况,再判断是否恢复。通过人为介入和确认,虽然可以降低异常判断导致脑裂风险,但也会导致系统恢复时间大大延长,存在不能及时的解决异常情况的问题。
发明内容
因此在现有技术中,当服务区出现异常时,难以及时有效地解决异常,从而保证正常的读写服务,这是非常令人烦恼的过程。
为此,非常需要一种改进的主节点选举方法及装置、介质和计算设备。
在本上下文中,本发明的实施方式期望提供一种主节点选举方法及装置、介质和计算设备。
在本发明实施方式的第一方面中,提供了一种主节点选举方法,应用于分布式系统,上述分布式系统包括第一服务区、第二服务区,上述第一服务区包括第一数量的第一节点,上述第二服务区包括第二数量的第二节点,上述方法包括:在上述第一节点、上述第二节点与第三数量的外部仲裁节点之间建立连接,其中,上述第三数量是根据上述第一数量和上述第二数量确定的;在上述第一服务区或上述第二服务区发生故障的情况下,根据未发生故障的服务区中的节点和上述外部仲裁节点选举出主节点,其中,上述未发生故障的服务区为上述第一服务区或上述第二服务区中的其中之一。
在本发明的一个实施例中,在上述第一节点、上述第二节点与第三数量的外部仲裁节点之间建立连接之后,上述方法还包括在上述第一节点和上述第二节点均已启动n秒以后再启动上述外部仲裁节点,0.1≤n≤0.9。
在本发明的另一个实施例中,上述方法还包括:在上述第一服务区或上述第二服务区发生故障的情况下,检测上述外部仲裁节点是否为主节点;在上述外部仲裁节点为主节点的情况下,延迟重启上述外部仲裁节点,以使得重新从上述未发生故障的服务区的节点中确定出主节点。
在本发明的又一个实施例中,上述方法还包括获取用于配置上述外部仲裁节点的配置操作;以及响应于上述配置操作,配置上述外部仲裁节点的访问状态为禁止访问状态,以限制访问上述外部仲裁节点,并使得请求一服务时,通过上述第一服务区中的第一节点或上述第二服务区中的第二节点响应于访问请求。
在本发明的再一个实施例中,上述方法还包括:检测上述第一服务区中的第一节点和上述第二服务区中的第二节点是否为可写状态;在检测结果表明节点为不可写状态的情况下,则确定处于上述不可写状态的节点所在的服务区发生了故障。
在本发明的再一个实施例中,上述方法还包括在确定处于上述不可写状态的节点所在的服务区发生了故障的情况下,判断发生了故障的服务区中是否包含主节点;在判断发生了故障的服务区中包含主节点的情况下,将上述发生了故障的服务区降级为备用区。
在本发明的再一个实施例中,上述方法还包括在检测结果表明节点为可写状态的情况下,则确定处于上述可写状态的节点所在的服务区正常运行。
在本发明的再一个实施例中,其中,上述第一数量等于上述第二数量。
在本发明实施方式的第二方面中,提供了一种主节点选举装置,应用于分布式系统,上述分布式系统包括第一服务区、第二服务区,上述第一服务区包括第一数量的第一节点,上述第二服务区包括第二数量的第二节点,上述装置包括连接模块和选举模块。连接模块用于在上述第一节点、上述第二节点与第三数量的外部仲裁节点之间建立连接,其中,上述第三数量是根据上述第一数量和上述第二数量确定的;选举模块用于在上述第一服务区或上述第二服务区发生故障的情况下,根据未发生故障的服务区中的节点和上述外部仲裁节点选举出主节点,其中,上述未发生故障的服务区为上述第一服务区或上述第二服务区中的其中之一。
在本发明的一个实施例中,上述装置还包括启动模块,用于在上述第一节点、上述第二节点与第三数量的外部仲裁节点之间建立连接之后,在上述第一节点和上述第二节点均已启动n秒以后再启动上述外部仲裁节点,0.1≤n≤0.9。
在本发明的另一个实施例中,上述装置还包括第一检测模块和重启模块。第一检测模块用于在上述第一服务区或上述第二服务区发生故障的情况下,检测上述外部仲裁节点是否为主节点;重启模块用于在上述外部仲裁节点为主节点的情况下,延迟重启上述外部仲裁节点,以使得重新从上述未发生故障的服务区的节点中确定出主节点。
在本发明的又一个实施例中,上述装置还包括获取模块和配置模块。获取模块用于获取用于配置上述外部仲裁节点的配置操作;以及配置模块用于响应于上述配置操作,配置上述外部仲裁节点的访问状态为禁止访问状态,以限制访问上述外部仲裁节点,并使得请求一服务时,通过上述第一服务区中的第一节点或上述第二服务区中的第二节点响应于访问请求。
在本发明的再一个实施例中,上述装置还包括第二检测模块和确定模块。第二检测模块用于检测上述第一服务区中的第一节点和上述第二服务区中的第二节点是否为可写状态;确定模块用于在检测结果表明节点为不可写状态的情况下,确定处于上述不可写状态的节点所在的服务区发生了故障。
在本发明的再一个实施例中,上述装置还包括判断模块和降级模块。判断模块用于在确定处于上述不可写状态的节点所在的服务区发生了故障的情况下,判断发生了故障的服务区中是否包含主节点;降级模块用于在判断发生了故障的服务区中包含主节点的情况下,将上述发生了故障的服务区降级为备用区。
在本发明的再一个实施例中,上述确定模块还用于在检测结果表明节点为可写状态的情况下,确定处于上述可写状态的节点所在的服务区正常运行。
在本发明的再一个实施例中,其中,上述第一数量等于上述第二数量。
在本发明实施方式的第三方面中,提供了一种介质,存储有计算机可执行指令,上述指令在被处理单元执行时用于如上上述的主节点选举方法。
在本发明实施方式的第四方面中,提供了一种计算设备,包括处理单元;以及存储单元,存储有计算机可执行指令,上述指令在被上述处理单元执行时用于实现如上上述的主节点选举方法。
根据本发明实施方式的主节点选举方法及装置、介质和计算设备,在第一服务区和第二服务区的外部连接第三数量的外部仲裁节点,在单个服务区异常时,未发生故障的服务区中的节点和外部节点一起可以保证多数节点正常,自动从未发生故障的服务区中的节点和外部仲裁节点中确定出主节点,从而保证服务正常运行,而无需用户手动操作恢复,从而显著地减少了系统恢复时间,并且避免了单机房异常时脑裂风险,为用户带来了更好的体验。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性示出了相关技术中的机房分布的示意图;
图2示意性地示出了根据本发明实施方式的应用场景示意图;
图3示意性地示出了根据本发明实施例的主节点选举方法的流程图;
图4示意性示出了根据本发明实施例的第一服务区发生故障的示意图;
图5示意性示出了根据本发明另一实施例的主节点选举方法的流程图;
图6示意性示出了根据本发明另一实施例的主节点选举方法的流程图;
图7示意性示出了根据本发明另一实施例的主节点选举方法的流程图;
图8示意性示出了根据本发明另一实施例的主节点选举方法的流程图;
图9示意性地示出了根据本发明实施例的主节点选举装置的框图;
图10示意性地示出了根据本发明另一实施例的主节点选举装置的框图;
图11示意性地示出了根据本发明实施方式的用于实现主节点选举方法的程序产品示意图;以及
图12示意性地示出了根据本发明实施例的用于实现主节点选举方法的计算设备的框图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种主节点选举方法、介质、装置和计算设备。
在本文中,需要理解的是,所涉及的术语如服务区,其特点是在不同区域之间不会共享基础的硬件资源,因此在出现异常时可以实现硬件上的相互隔离,避免故障扩散。服务区和数据中心一般是n:1的关系。服务区具有相对应的数据中心,一个数据中心可以根据需要划分为多个物理上隔离的服务区。
数据中心,或称为服务器场,指用于安置计算机系统及相关部件的设施,例如电信和储存系统,一般包含冗余和备用电源,冗余数据通信连接,环境控制(例如空调、灭火器)和各种安全设备。
跨服务区服务,指服务可以跨服务区提供,用于提高服务可用能力,由于服务区本身是硬件隔离的,当一个服务区异常时,仍然可以对外提供服务。
此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,对于数据库,队列等服务来说,需要使用主节点来保证读写操作,这类服务在两个机房时一般采用主备模式,在备机房异常时,主节点正常提供,服务不受影响。而在主机房异常的时候需要程序介入,通过主备切换的方式,让从节点正常提供服务。而在仅有两个机房的情况下,系统很难通过现有机房的异常信息来判断出是哪个机房异常,因此存在脑裂的风险。相关技术中为了处理这个场景,在双机房环境时,如果主机房发生异常,需要人工介入来判断实际的异常情况,再判断是否恢复。通过人为介入和确认,虽然可以降低异常判断导致脑裂风险,但也会导致系统恢复时间大大延长,存在不能及时的解决异常情况的问题。
基于以上分析,发明人构想到如果要实现多服务区能够正常提供服务,解决的首要问题就是服务区自动恢复的单点问题,即无论任一服务区异常,都需要服务可以发现异常并可以自动恢复,服务能够实现自动切换功能。本发明通过在第一服务区和第二服务区的外部连接第三数量的外部仲裁节点,在单个服务区异常时,未发生故障的服务区中的节点和外部节点一起可以保证多数节点正常,自动从未发生故障的服务区中的节点和外部仲裁节点中确定出主节点,从而保证服务正常运行,而无需用户手动操作恢复,从而显著地减少了系统恢复时间,并且避免了单机房异常时脑裂风险,为用户带来了更好的体验。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
首先参考图2详细阐述本发明实施例的用于主节点选举方法及其装置的应用场景。
图2示意性地示出了根据本发明实施方式的应用场景示意图。
如图2所示,在应用系统100中,包括第一服务区101、第二服务区102和外部仲裁节点103。第一服务区101和第二服务区102之间包括通信链路,可以是有线链路或者无线链路。外部仲裁节点103与第一服务区101和第二服务区102分别连接,在图2中以虚线表示通信链路,该通信链路也可以是有线链路或者无线链路。
根据本发明的实施例,在第一服务区101中包括第一数量的第一节点,在第二服务区102中包括第二数量的第二节点,外部仲裁节点103的第三数量根据第一数量和第二数量进行确定,以保证当第一服务区101和第二服务区102中的其中一个发生故障时,未发生故障的服务区中的节点和外部节点一起可以保证多数节点正常。例如,在应用系统100中,以第一数量和第二数量都等于3,第三数量等于1为例,在第一服务区101中包括3个第一节点,在第二服务区102中包括3个第二节点,1个外部仲裁节点。一般情况下,外部仲裁节点和第一节点和第二节点有一定的物理距离,可以认为是属于不同区域下的节点。
根据本发明的实施例,通过在第一服务区和第二服务区的外部连接第三数量的外部仲裁节点,在单个服务区异常时,未发生故障的服务区中的节点和外部节点一起可以保证多数节点正常,自动从未发生故障的服务区中的节点和外部仲裁节点中确定出主节点,从而保证服务正常运行,服务可以发现异常并可以自动恢复,服务能够实现自动切换功能而无需用户手动操作恢复,从而显著地减少了系统恢复时间,并且避免了单机房异常时脑裂风险的,为用户带来了更好的体验。
需要说明的是,本发明在确定第一数量的第一节点和第二数量的第二节点之后,根据第一数量和第二数量确定第三数量的外部仲裁节点。上述第一服务区101、第二服务区102和外部仲裁节点103中的节点数量是示意性的,可以根据实际情况,确定相应的数量。
示例性方法
下面结合图2的应用场景,参考图3来描述根据本发明示例性实施方式的主节点选举方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
对于实际的分布式系统来说,无论是队列服务,还是数据库等服务,实际异常切换时间一般在秒级切换,因此底层系统实际上是有快速切换的潜力。对于第一服务区和第二服务区中的节点出现故障自动恢复的问题可以转化为判断异常服务区的问题。由于构建新的服务区的成本非常高,在现有服务区数量的情况下,不增加额外服务区自动判断出异常的服务区是本发明需要解决的问题。
图3示意性地示出了根据本发明实施例的主节点选举方法的流程图。
根据本发明的实施例,主节点选举方法应用于分布式系统,分布式系统包括第一服务区、第二服务区,第一服务区包括第一数量的第一节点,第二服务区包括第二数量的第二节点,如图3所示,根据本发明实施例的主节点选举方法包括操作S201~操作S202。
在操作S201,在第一节点、第二节点与第三数量的外部仲裁节点之间建立连接,其中,第三数量是根据第一数量和第二数量确定的。
根据本发明的实施例,可以使用分布式一致性算法(如raft或者paxos),通过加入一个跨区域的外部仲裁节点,来保证任意一个服务区异常时,都可以保证多个节点存活,从而实现异常服务区自动判断。
根据本发明的实施例,可以先确定第一服务区中的第一节点的第一数量和第二服务区中的第二节点的第二数量,根据保证多个节点存活的原则,根据第一数量和第二数量确定第三数量的外部仲裁节点,其中,第三数量可以满足以下条件:如第三数量与第一数量之和大于第二数量,且第三数量与第二数量之和大于第一数量;或者当第一数量等于第二数量的情况下,第三数量为任意整数,可选地,在这种情况下,第三数量可以小于第一数量或第二数量。
例如,第一数量为2,第二数量为2,第三数量可以1,因此,根据本发明的实施例,第一数量可以等于第二数量。再例如,第一数量为2,第二数量为3,第三数量可以2。
根据本发明的实施例,多个服务区之间可以通过专线连接,以提供极小的延迟和稳定、近乎无限的带宽。而无论是基于paxos算法的服务区还是基于raft算法的服务区,为了保证数据的一致性,需要依赖节点之间的快速通信来同步数据,因此,在第一节点、第二节点与外部仲裁节点之间建立通信连接。
在操作S202,在第一服务区或第二服务区发生故障的情况下,根据未发生故障的服务区中的节点和外部仲裁节点选举出主节点,其中,未发生故障的服务区为第一服务区或第二服务区中的其中之一。
根据本发明的实施例,如图4所示,图4示意性示出了根据本发明实施例的第一服务区发生故障的示意图。
假定第一服务区发生故障异常,断开了与第二服务区以及外部仲裁节点的连接。剩下第二服务区以及外部仲裁节点存活,根据未发生故障的第二服务区中的节点和外部仲裁节点选举出主节点,服务可以自动恢复。
根据本发明的实施例,当第二服务区异常时,节点A1,A2,和C可以选举出主节点。当外部节点C异常时,余下四个节点,仍然保证多数。无论任何一个服务区会成为单点,只要故障范围不超过单个服务区,余下的服务总是可以实现节点多数,从而可以选出主节点。
根据本发明的实施例,通过在第一服务区和第二服务区的外部连接第三数量的外部仲裁节点,在单个服务区异常时,未发生故障的服务区中的节点和外部节点一起可以保证多数节点正常,自动从未发生故障的服务区中的节点和外部仲裁节点中确定出主节点,从而保证服务正常运行,服务可以发现异常并可以自动恢复,服务能够实现自动切换功能而无需用户手动操作恢复,从而显著地减少了系统恢复时间,并且避免了单机房异常时脑裂风险,为用户带来了更好的体验。
根据本发明的实施例,如果外部仲裁节点被选举为主节点,则所有请求都会发往第一服务区和第二服务内部,这样性能和服务稳定性可能会有所下降。
根据本发明的实施例,在第一节点、第二节点与第三数量的外部仲裁节点之间建立连接之后,在第一节点和第二节点均已启动n秒以后再启动外部仲裁节点,0.1≤n≤0.9。
通过本发明的实施例,通过在第一节点和第二节点均已启动n秒以后再启动外部仲裁节点,可以使得在其他节点选主完成之后再启动外部节点。例如,在第一节点和第二节点均已启动0.2秒以后再启动外部仲裁节点,使得外部仲裁节点较小概率的成为主节点,可以提高系统性能和服务稳定性。
下面参考图5~图8,结合具体实施例对图3所示的方法做进一步说明。
图5示意性示出了根据本发明另一实施例的主节点选举方法的流程图。
如图5所示,主节点选举方法还包括操作S203~S204。
在操作S203,在第一服务区或第二服务区发生故障的情况下,检测外部仲裁节点是否为主节点。
根据本发明的实施例,在启动第一节点、第二节点与外部仲裁节点之后,如果第一服务区或第二服务区发生故障,可以检测外部仲裁节点是否为主节点,例如,在外部仲裁节点加入选主检测,通过本地脚本检测外部仲裁节点是否为主节点,选主检测本身可以利用一致性算法的写特性保证,对于一致性算法来说,为了保证数据一致性,仅允许主节点写入。因此可以通过判断外部节点是否可以写入来简单的判断外部节点是否成为了主节点。
在操作S204,在外部仲裁节点为主节点的情况下,延迟重启外部仲裁节点,以使得重新从未发生故障的服务区的节点中确定出主节点。
根据本发明的实施例,如果外部仲裁节点成为主节点(一般是在服务器异常重新选举之后),则直接重启第一服务区和第二服务区,触发重新选举,并且延迟重启外部仲裁节点。由于外部节点延迟概率稍低,节点之间选主是随机的,因此外部节点选主概率是按照指数级别降低。因此可以保证在较少的自动重启之后,服务自动恢复。
通过本发明的实施例,一般情况下,主节点选举成功之后,除非主节点异常,否则不会重复选举。在发生故障的情况下,如果外部仲裁节点为主节点,则延时重启外部仲裁节点,避免外部仲裁节点确定为主节点,提高系统性能,减少带宽成本。
图6示意性示出了根据本发明另一实施例的主节点选举方法的流程图。如图6所示,主节点选举方法还包括操作S205~S206。
在操作S205,获取用于配置外部仲裁节点的配置操作。
在操作S206,响应于配置操作,配置外部仲裁节点的访问状态为禁止访问状态,以限制访问外部仲裁节点,并使得请求一服务时,通过第一服务区中的第一节点或第二服务区中的第二节点响应于访问请求。
根据本发明的实施例,可以在外部仲裁节点直接通过节点配置,保证数据访问仅在服务区内部进行,而不会访问到外部节点。
根据本发明的实施例,通过调整配置,保证集群内的数据访问仅在服务区内部进行,而不会访问到外部节点。以分布式系统的一种集群搭建类型etcd为例,可行的配置如下:第一服务区有两个节点A1,A2,第二服务区有节点B1,B2,外部仲裁节点部署选举节点C1,第一服务区和第二服务区的服务,在配置etcd节点时,仅会配置A1,A2和B1,B2,而不会配置C1,因此就不会有任何请求直接访问外部节点。这样可以保证外部节点仅作为选举节点,同时,每个服务区可以至少部署2个节点,使得服务区内的基础高可用保证。
通过本发明的实施例,由于访问外部仲裁节点数据往往会有较大延迟和性能损失,配置外部仲裁节点的访问状态为禁止访问状态可以防止脏读和性能损失。
图7示意性示出了根据本发明另一实施例的主节点选举方法的流程图。如图7所示,主节点选举方法还包括操作S207~S208。
在操作S207,检测第一服务区中的第一节点和第二服务区中的第二节点是否为可写状态。
在操作S208,在检测结果表明节点为不可写状态的情况下,则确定处于不可写状态的节点所在的服务区发生了故障。
根据本发明的实施例,检测第一服务区中的第一节点和第二服务区中的第二节点是否为可写状态,在检测结果表明节点为可写状态的情况下,则确定处于可写状态的节点所在的服务区正常运行。
根据本发明的实施例,可以通过访问本服务区的服务,测试节点是否可写,判断是否为正常服务区。如果节点为可写状态,则表示选主成功,是正常,如果本服务区是备节点,则进行自动恢复。如果本地为主节点,则不操作。如果节点为不可写状态,则处于不可写状态的节点所在的服务区发生了故障。
通过本发明的实施例,基于以上策略,可以在节点异常时,可以自动判断本服务区是否异常。一般etcd的收敛时间在1秒之内完成,相对于人工的判断时间(30分钟),上层服务可以在很短的时间内实现自动恢复。
图8示意性示出了根据本发明另一实施例的主节点选举方法的流程图。如图8所示,主节点选举方法还包括操作S209~S210。
在操作S209,在确定处于不可写状态的节点所在的服务区发生了故障的情况下,判断发生了故障的服务区中是否包含主节点。
在操作S210,在判断发生了故障的服务区中包含主节点的情况下,将发生了故障的服务区降级为备用区。
根据本发明的实施例,异常服务区本地肯定不可写,在判断发生了故障的服务区中包含主节点的情况下,则将该服务区降级为备,可以避免脑裂,如果发生了故障的服务区中没有包含主节点,而是备节点的情况下,则不进行操作。
通过本发明的实施例,提出了一种低成本,无明显性能损失,快速有效实现服务区异常恢复的基础设施。在包括第一服务区和第二服务区的情况下,当服务区发生异常时,可以自动识别出异常服务区,性能有保障,在实现高可用的情况下,不会造成额外的性能损失,异常自动恢复,在可以识别出异常服务区的情况下,支持业务实现自动恢复。
示例性装置
在介绍了本发明示例性实施方式的方法之后,接下来,参考图9对本发明示例性实施方式的主节点选举装置进行描述。
图9示意性地示出了根据本发明实施例的主节点选举装置的框图。
根据本公开的实施例,提供了一种主节点选举装置400,应用于分布式系统,分布式系统包括第一服务区、第二服务区,第一服务区包括第一数量的第一节点,第二服务区包括第二数量的第二节点,如图9所示,主节点选举装置400包括连接模块401和选举模块402。
连接模块401用于在第一节点、第二节点与第三数量的外部仲裁节点之间建立连接,其中,第三数量是根据第一数量和第二数量确定的。
选举模块402用于在第一服务区或第二服务区发生故障的情况下,根据未发生故障的服务区中的节点和外部仲裁节点选举出主节点,其中,未发生故障的服务区为第一服务区或第二服务区中的其中之一。
在本发明的一个实施例中,第一节点的第一数量等于第二节点的第二数量。
通过本发明的实施例,通过在第一服务区和第二服务区的外部连接第三数量的外部仲裁节点,在单个服务区异常时,未发生故障的服务区中的节点和外部节点一起可以保证多数节点正常,自动从未发生故障的服务区中的节点和外部仲裁节点中确定出主节点,从而保证服务正常运行,服务可以发现异常并可以自动恢复,服务能够实现自动切换功能而无需用户手动操作恢复,从而显著地减少了系统恢复时间,并且避免了单机房异常时脑裂风险,为用户带来了更好的体验。
图10示意性地示出了根据本发明另一实施例的主节点选举装置的框图。
如图10所示,主节点选举装置400还包括启动模块403,用于在第一节点、第二节点与第三数量的外部仲裁节点之间建立连接之后,在第一节点和第二节点均已启动n秒以后再启动外部仲裁节点,0.1≤n≤0.9。
通过本发明的实施例,通过在第一节点和第二节点均已启动n秒以后再启动外部仲裁节点,可以使得在其他节点选主完成之后再启动外部节点。例如,在第一节点和第二节点均已启动0.2秒以后再启动外部仲裁节点,使得外部仲裁节点较小概率的成为主节点,可以提高系统性能和服务稳定性。
在本发明的另一个实施例中,主节点选举装置400还包括第一检测模块404和重启模块405。
第一检测模块404用于在第一服务区或第二服务区发生故障的情况下,检测外部仲裁节点是否为主节点。
重启模块405用于在外部仲裁节点为主节点的情况下,延迟重启外部仲裁节点,以使得重新从未发生故障的服务区的节点中确定出主节点。
通过本发明的实施例,一般情况下,主节点选举成功之后,除非主节点异常,否则不会重复选举。在发生故障的情况下,如果外部仲裁节点为主节点,则延时重启外部仲裁节点,避免外部仲裁节点确定为主节点,提高系统性能,减少带宽成本。
在本发明的又一个实施例中,主节点选举装置400还包括获取模块406和配置模块407。
获取模块406用于获取用于配置外部仲裁节点的配置操作。
配置模块407用于响应于配置操作,配置外部仲裁节点的访问状态为禁止访问状态,以限制访问外部仲裁节点,并使得请求一服务时,通过第一服务区中的第一节点或第二服务区中的第二节点响应于访问请求。
通过本发明的实施例,由于访问外部仲裁节点数据往往会有较大延迟和性能损失,配置外部仲裁节点的访问状态为禁止访问状态可以防止脏读和性能损失。
在本发明的再一个实施例中,主节点选举装置400还包括第二检测模块408和确定模块409。
第二检测模块408用于检测第一服务区中的第一节点和第二服务区中的第二节点是否为可写状态。
确定模块409用于在检测结果表明节点为不可写状态的情况下,确定处于不可写状态的节点所在的服务区发生了故障。
在本发明的再一个实施例中,确定模块409还用于在检测结果表明节点为可写状态的情况下,确定处于可写状态的节点所在的服务区正常运行。
通过本发明的实施例,可以在节点异常时,自动判断本服务区是否异常。
在本发明的再一个实施例中,主节点选举装置400还包括判断模块410和降级模块411。
判断模块410用于在确定处于不可写状态的节点所在的服务区发生了故障的情况下,判断发生了故障的服务区中是否包含主节点。
降级模块411用于在判断发生了故障的服务区中包含主节点的情况下,将发生了故障的服务区降级为备用区。
通过本发明的实施例,提出了一种低成本,无明显性能损失,快速有效实现服务区异常恢复的基础设施。在包括第一服务区和第二服务区的情况下,当服务区发生异常时,可以自动识别出异常服务区,性能有保障,在实现高可用的情况下,不会造成额外的性能损失,异常自动恢复,在可以识别出异常服务区的情况下,支持业务实现自动恢复。
示例性介质
在介绍了本发明示例性实施方式的装置之后,接下来,参考图11对本发明示例性实施方式的、用于存储有计算机可执行指令,该指令在被处理单元执行时用于实现如上所述的主节点选举方法的介质进行描述。
在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算设备上运行时,所述程序代码用于使所述计算设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的主节点选举方法中的步骤,例如,所述计算设备可以执行如图3中所示的操作S201,在第一节点、第二节点与第三数量的外部仲裁节点之间建立连接,其中,第三数量是根据第一数量和第二数量确定的;操作S202:在第一服务区或第二服务区发生故障的情况下,根据未发生故障的服务区中的节点和外部仲裁节点选举出主节点,其中,未发生故障的服务区为第一服务区或第二服务区中的其中之一。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
图11示意性地示出了根据本发明实施方式的用于实现主节点选举方法的程序产品示意图。
如图11所示,描述了根据本发明的实施方式的主节点选举方法的程序产品30,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆,RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言——诸如Java,C++等,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
示例性计算设备
在介绍了本发明示例性实施方式的方法、介质和装置之后,接下来,参考图12对本发明示例性实施方式的计算设备进行描述,该计算设备包括处理单元和存储单元,存储单元存储有计算机可执行指令,上述指令在被上述处理单元执行时用于实现如上所述的主节点选举方法法进行描述。
本发明实施例还提供了一种计算设备。所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本发明的计算设备可以至少包括至少一个处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的主节点选举方法中的步骤。例如,所述处理单元可以执行如图3中所示的操作S201,在第一节点、第二节点与第三数量的外部仲裁节点之间建立连接,其中,第三数量是根据第一数量和第二数量确定的;操作S202:在第一服务区或第二服务区发生故障的情况下,根据未发生故障的服务区中的节点和外部仲裁节点选举出主节点,其中,未发生故障的服务区为第一服务区或第二服务区中的其中之一。
图12示意性地示出了根据本发明实施例的用于实现主节点选举方法的计算设备的框图。
下面参照图12来描述根据本发明的这种实施方式的主节点选举方法的计算设备50。如图12所示的计算设备50仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图12所示,计算设备50以通用计算设备的形式表现。计算设备50的组件可以包括但不限于:上述至少一个处理单元501、上述至少一个存储单元502、连接不同系统组件(包括存储单元502和处理单元501)的总线503。
总线503表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储单元502可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)5021和/或高速缓存存储器5022,还可以进一步包括只读存储器(ROM)5023。
存储单元502还可以包括具有一组(至少一个)程序模块5024的程序/实用工具5025,这样的程序模块5024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算设备50也可以与一个或多个外部设备504(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与计算设备50交互的设备通信,和/或与使得计算设备50能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/0)接口505进行。并且,计算设备50还可以通过网络适配器506与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器506通过总线503与计算设备50的其它模块通信。应当明白,尽管图中未示出,可以结合计算设备50使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

Claims (18)

1.一种主节点选举方法,应用于分布式系统,所述分布式系统包括第一服务区、第二服务区,所述第一服务区包括第一数量的第一节点,所述第二服务区包括第二数量的第二节点,所述方法包括:
在所述第一节点、所述第二节点与第三数量的外部仲裁节点之间建立连接,其中,所述第三数量是根据所述第一数量和所述第二数量确定的;
在所述第一服务区或所述第二服务区发生故障的情况下,根据未发生故障的服务区中的节点和所述外部仲裁节点选举出主节点,其中,所述未发生故障的服务区为所述第一服务区或所述第二服务区中的其中之一;
在所述第一节点、所述第二节点与第三数量的外部仲裁节点之间建立连接之后,所述方法还包括:
在所述第一节点和所述第二节点均已启动n秒以后再启动所述外部仲裁节点。
2.根据权利要求1所述的选举方法,其中,0.1≤n≤0.9。
3.根据权利要求1所述的方法,其中,所述方法还包括:
在所述第一服务区或所述第二服务区发生故障的情况下,检测所述外部仲裁节点是否为主节点;以及
在所述外部仲裁节点为主节点的情况下,延迟重启所述外部仲裁节点,以使得重新从所述未发生故障的服务区的节点中确定出主节点。
4.根据权利要求1所述的方法,其中,所述方法还包括:
获取用于配置所述外部仲裁节点的配置操作;以及
响应于所述配置操作,配置所述外部仲裁节点的访问状态为禁止访问状态,以限制访问所述外部仲裁节点,并使得请求一服务时,通过所述第一服务区中的第一节点或所述第二服务区中的第二节点响应于访问请求。
5.根据权利要求1所述的方法,其中,所述方法还包括:
检测所述第一服务区中的第一节点和所述第二服务区中的第二节点是否为可写状态;以及
在检测结果表明节点为不可写状态的情况下,则确定处于所述不可写状态的节点所在的服务区发生了故障。
6.根据权利要求5所述的方法,其中,所述方法还包括:
在确定处于所述不可写状态的节点所在的服务区发生了故障的情况下,判断发生了故障的服务区中是否包含主节点;以及
在判断发生了故障的服务区中包含主节点的情况下,将所述发生了故障的服务区降级为备用区。
7.根据权利要求5所述的方法,其中,所述方法还包括:
在检测结果表明节点为可写状态的情况下,则确定处于所述可写状态的节点所在的服务区正常运行。
8.根据权利要求1所述的方法,其中:
所述第一数量等于所述第二数量。
9.一种主节点选举装置,应用于分布式系统,所述分布式系统包括第一服务区、第二服务区,所述第一服务区包括第一数量的第一节点,所述第二服务区包括第二数量的第二节点,所述装置包括:
连接模块,用于在所述第一节点、所述第二节点与第三数量的外部仲裁节点之间建立连接,其中,所述第三数量是根据所述第一数量和所述第二数量确定的;以及
选举模块,用于在所述第一服务区或所述第二服务区发生故障的情况下,根据未发生故障的服务区中的节点和所述外部仲裁节点选举出主节点,其中,所述未发生故障的服务区为所述第一服务区或所述第二服务区中的其中之一;
启动模块,用于在所述第一节点、所述第二节点与第三数量的外部仲裁节点之间建立连接之后,在所述第一节点和所述第二节点均已启动n秒以后再启动所述外部仲裁节点。
10.根据权利要求9所述的选举装置,
其中,0.1≤n≤0.9。
11.根据权利要求9所述的装置,其中,所述装置还包括:
第一检测模块,用于在所述第一服务区或所述第二服务区发生故障的情况下,检测所述外部仲裁节点是否为主节点;以及
重启模块,用于在所述外部仲裁节点为主节点的情况下,延迟重启所述外部仲裁节点,以使得重新从所述未发生故障的服务区的节点中确定出主节点。
12.根据权利要求9所述的装置,其中,所述装置还包括:
获取模块,用于获取用于配置所述外部仲裁节点的配置操作;以及
配置模块,用于响应于所述配置操作,配置所述外部仲裁节点的访问状态为禁止访问状态,以限制访问所述外部仲裁节点,并使得请求一服务时,通过所述第一服务区中的第一节点或所述第二服务区中的第二节点响应于访问请求。
13.根据权利要求9所述的装置,其中,所述装置还包括:
第二检测模块,用于检测所述第一服务区中的第一节点和所述第二服务区中的第二节点是否为可写状态;以及
确定模块,用于在检测结果表明节点为不可写状态的情况下,确定处于所述不可写状态的节点所在的服务区发生了故障。
14.根据权利要求13所述的装置,其中,所述装置还包括:
判断模块,用于在确定处于所述不可写状态的节点所在的服务区发生了故障的情况下,判断发生了故障的服务区中是否包含主节点;以及
降级模块,用于在判断发生了故障的服务区中包含主节点的情况下,将所述发生了故障的服务区降级为备用区。
15.根据权利要求13所述的装置,其中,所述确定模块还用于在检测结果表明节点为可写状态的情况下,确定处于所述可写状态的节点所在的服务区正常运行。
16.根据权利要求9所述的装置,其中:所述第一数量等于所述第二数量。
17.一种介质,存储有计算机可执行指令,所述指令在被处理单元执行时用于实现权利要求1至8中任一项所述的主节点选举方法。
18.一种计算设备,包括:
处理单元;以及
存储单元,存储有计算机可执行指令,所述指令在被所述处理单元执行时用于实现权利要求1至8中任一项所述的主节点选举方法。
CN201810945208.9A 2018-08-17 2018-08-17 主节点选举方法及装置、介质和计算设备 Active CN108984349B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810945208.9A CN108984349B (zh) 2018-08-17 2018-08-17 主节点选举方法及装置、介质和计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810945208.9A CN108984349B (zh) 2018-08-17 2018-08-17 主节点选举方法及装置、介质和计算设备

Publications (2)

Publication Number Publication Date
CN108984349A CN108984349A (zh) 2018-12-11
CN108984349B true CN108984349B (zh) 2021-10-08

Family

ID=64553738

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810945208.9A Active CN108984349B (zh) 2018-08-17 2018-08-17 主节点选举方法及装置、介质和计算设备

Country Status (1)

Country Link
CN (1) CN108984349B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111327447B (zh) * 2018-12-17 2021-09-14 华为技术有限公司 一种分布式系统、仲裁方法、节点设备及存储介质
CN113742417B (zh) * 2020-05-29 2024-06-07 同方威视技术股份有限公司 多级分布式共识方法及系统、电子设备及计算机可读介质
CN111817895B (zh) * 2020-07-14 2023-04-07 济南浪潮数据技术有限公司 一种主控节点切换方法、装置、设备及存储介质
CN112269694B (zh) * 2020-10-23 2023-12-22 北京浪潮数据技术有限公司 一种管理节点确定方法、装置、电子设备及可读存储介质
CN112822238B (zh) * 2020-12-29 2023-05-26 深圳市金证科技股份有限公司 一种主节点的切换方法以及计算机可读存储介质
CN113810216B (zh) * 2020-12-31 2024-06-18 京东科技控股股份有限公司 一种集群的故障切换方法、装置及电子设备
CN115168322A (zh) * 2022-07-08 2022-10-11 北京奥星贝斯科技有限公司 数据库系统、主库选举方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104539479A (zh) * 2014-12-16 2015-04-22 北京中交兴路车联网科技有限公司 一种分布式服务监控系统及方法
CN105681404A (zh) * 2016-01-04 2016-06-15 北京百度网讯科技有限公司 用于分布式缓存系统的元数据节点管理方法和装置
CN106911728A (zh) * 2015-12-22 2017-06-30 华为技术服务有限公司 分布式系统中主节点的选取方法和装置
CN108111337A (zh) * 2017-12-06 2018-06-01 北京天融信网络安全技术有限公司 分布式系统仲裁主节点的方法及设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8473775B1 (en) * 2010-12-14 2013-06-25 Amazon Technologies, Inc. Locality based quorums

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104539479A (zh) * 2014-12-16 2015-04-22 北京中交兴路车联网科技有限公司 一种分布式服务监控系统及方法
CN106911728A (zh) * 2015-12-22 2017-06-30 华为技术服务有限公司 分布式系统中主节点的选取方法和装置
CN105681404A (zh) * 2016-01-04 2016-06-15 北京百度网讯科技有限公司 用于分布式缓存系统的元数据节点管理方法和装置
CN108111337A (zh) * 2017-12-06 2018-06-01 北京天融信网络安全技术有限公司 分布式系统仲裁主节点的方法及设备

Also Published As

Publication number Publication date
CN108984349A (zh) 2018-12-11

Similar Documents

Publication Publication Date Title
CN108984349B (zh) 主节点选举方法及装置、介质和计算设备
KR101547719B1 (ko) 데이터 센터들에 걸쳐 데이터 서버들내 데이터 무결정의 유지
US8621263B2 (en) Automated node fencing integrated within a quorum service of a cluster infrastructure
CN109446169B (zh) 一种双控磁盘阵列共享文件系统
JP2006114040A (ja) コンピュータクラスタのノードのフェールオーバー範囲
CN102394914A (zh) 集群脑裂处理方法和装置
CN107666493B (zh) 一种数据库配置方法及其设备
EP3648405B1 (en) System and method to create a highly available quorum for clustered solutions
US7886181B2 (en) Failure recovery method in cluster system
CN104036043A (zh) 一种mysql高可用的方法及管理节点
US7373542B2 (en) Automatic startup of a cluster system after occurrence of a recoverable error
CN112015689A (zh) 串口输出路径切换方法、系统及装置和交换机
CN114840495A (zh) 一种数据库集群防脑裂的方法、存储介质与设备
CN115292408A (zh) MySQL数据库的主从同步方法、装置、设备及介质
CN113515316A (zh) 一种新型边缘云操作系统
CN111342986A (zh) 分布式节点管理方法及装置、分布式系统、存储介质
CN113377702A (zh) 两节点集群启动的方法及装置、电子设备和存储介质
CN113300913B (zh) 一种设备测试方法、装置、测试设备及存储介质
CN116302716A (zh) 一种集群部署方法、装置、电子设备及计算机可读介质
CN111381770A (zh) 一种数据存储切换方法、装置、设备及存储介质
CN115766405A (zh) 一种故障处理方法、装置、设备和存储介质
CN112799602B (zh) 一种云硬盘在线扩容方法
CN109510867B (zh) 数据请求处理的方法、装置、存储介质及电子设备
CN110287066B (zh) 一种服务器分区迁移方法及相关装置
CN112612652A (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
CP01 Change in the name or title of a patent holder

Address after: 310052 Room 301, Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: Hangzhou NetEase Shuzhifan Technology Co.,Ltd.

Address before: 310052 Room 301, Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee before: HANGZHOU LANGHE TECHNOLOGY Ltd.

CP01 Change in the name or title of a patent holder