CN114826892A - 一种集群节点控制方法、装置、设备及介质 - Google Patents
一种集群节点控制方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114826892A CN114826892A CN202210460861.2A CN202210460861A CN114826892A CN 114826892 A CN114826892 A CN 114826892A CN 202210460861 A CN202210460861 A CN 202210460861A CN 114826892 A CN114826892 A CN 114826892A
- Authority
- CN
- China
- Prior art keywords
- node
- information
- service
- cluster
- consul
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 241000412611 Consul Species 0.000 claims abstract description 155
- 230000036541 health Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 13
- 238000012216 screening Methods 0.000 claims description 5
- 230000007246 mechanism Effects 0.000 claims description 4
- 230000004083 survival effect Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种集群节点控制方法、装置、设备及介质,涉及consul集群技术领域,该方法应用于由奇数个服务端节点构建的consul集群,包括:当consul集群中的目标服务端节点获取到服务更新信息,则基于服务更新信息对目标服务端节点本地存储的服务信息进行更新,以生成更新后信息;服务更新信息包括服务注册信息与心跳检查信息;利用预设的信息同步方法将目标服务端节点中的更新后信息同步至consul集群中的其他服务端节点;当监测到consul集群中的任一服务端节点故障时,则从consul集群中确定出故障节点的接替节点,并控制接替节点使用更新后信息代替故障节点以提供服务。本发明可以在提升consul集群在中小规模微服务架构中的易用性与可行性的同时,减少部署的复杂性。
Description
技术领域
本发明涉及consul集群领域,特别涉及一种集群节点控制方法、装置、设备及介质。
背景技术
Spring Cloud是一系列框架的有序集合,早期使用SpringCloud的开发者通常采用eureka 1.X版本作为微服务注册中心,而Eureka 2.X遇到困难停止开发。同时随着consul的兴起,consul已经逐渐成为了主流的注册中心。
consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其它分布式服务注册与发现的方案,consul的方案更“一站式”,其内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案,不再需要依赖其它工具。
consul的定位是超大规模注册中心,其兼顾强一致性与高可扩展性。因此,consul集群为避免数据流量压力过大而不进行集中式心跳检查,只会同步少量核心数据来保障集群的强一致性。其具体表现在:无论服务注册到哪个consul节点,只要此consul节点挂掉,对于整个集群来说,服务立即变为不可用状态,其他节点无法接管对此服务的健康检查。而对于中小规模的微服务架构来说,集群内的数据流量压力不构成性能瓶颈,反而由于consul集群的这些特性导致了开发与维护上的不便,consul集群无法同步服务本地存根的问题弊大于利,当前的consul集群在中小规模的微服务架构中并不适用。
由上可见,在中小规模微服务架构中,如何改进consul集群而提升consul集群在中小规模微服务架构中的易用性是本领域有待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种集群节点控制方法、装置、设备及介质,能够在单点故障时,基于数据共享或者同步的方式使集群中的其他节点能够动态接管故障节点上注册的服务,进而提升consul的易用性。其具体方案如下:
第一方面,本申请公开了一种集群节点控制方法,应用于由奇数个服务端节点构建的consul集群,包括:
当所述consul集群中的目标服务端节点获取到服务更新信息,则基于所述服务更新信息对所述目标服务端节点本地存储的服务信息进行更新,以生成更新后信息;所述服务更新信息包括服务注册信息与心跳检查信息;
利用预设的信息同步方法将所述目标服务端节点中的更新后信息同步至所述consul集群中的其他服务端节点;
当监测到所述consul集群中的任一服务端节点故障时,则从所述consul集群中确定出故障节点的接替节点,并控制所述接替节点使用所述更新后信息代替所述故障节点以提供服务。
可选的,所述当所述consul集群中的目标服务端节点获取到服务更新信息,则基于所述服务更新信息对所述目标服务端节点本地存储的服务信息进行更新,以生成更新后信息,包括:
当所述consul集群中的目标服务端节点获取到外部发送的服务更新信息,则确定所述服务更新信息的类别;
基于所述服务更新信息的类别,将所述服务更新信息保存至相应的目标目录中,以生成更新后目录;
相应的,所述利用预设的信息同步方法将所述目标服务端节点中的更新后信息同步至所述consul集群中的其他服务端节点,包括:
利用预设的信息同步方法将所述服务器节点中的更新后目录同步至所述consul集群中的其他服务端节点。
可选的,所述基于所述服务更新信息的类别,将所述服务更新信息保存至相应的目标目录中,包括:
若所述服务更新信息的类别为服务注册信息,则将所述服务更新信息保存至本地预设的服务注册目录中;
若所述服务更新信息的类别为心跳检查信息,则将所述服务更新信息保存至本地预设的心跳检查目录中。
可选的,所述当监测到所述consul集群中的任一服务端节点故障时,则从所述consul集群中确定出故障节点的接替节点,并控制所述接替节点使用所述更新后信息代替所述故障节点以提供服务,包括:
当keepalive监测到所述consul集群中的任一服务端节点故障时,则从所述consul集群中确定出故障节点的接替节点,并将预设虚拟IP漂移至所述接替节点,然后利用预设的虚拟IP使用所述接替节点中的所述更新后信息对外提供服务。
可选的,所述keepalive监测到所述consul集群中的任一服务端节点故障之前,还包括:
利用keepalive为所述consul集群创建虚拟IP,以便所述consul集群中的全部所述服务端节点共享所述虚拟IP;
利用keepalive中的预设存活监测机制对当前consul集群中的所有节点进行监测。
可选的,所述集群节点控制方法,还包括:
分别利用各节点中预设的健康检查方法对各节点进行检查,以便各节点对各自的节点权重值进行修改;
相应的,所述从所述consul集群中确定出故障节点的接替节点,包括:
确定所述consul集群中各节点的权重值,并利用预设的权重筛选策略与所述权重值从所述consul集群中确定所述故障节点的接替节点。
可选的,所述利用预设的信息同步方法将所述目标服务端节点中的更新后信息同步至所述consul集群中的其他服务端节点,包括:
利用网络文件系统远程挂载的方式将所述服务器节点中的更新后信息同步至所述consul集群中的其他节点;
或,利用预设数据镜像备份工具将所述服务器节点中的更新后信息同步至所述consul集群中的其他节点。
第二方面,本申请公开了一种集群节点控制装置,包括:
信息更新模块,用于当所述consul集群中的目标服务端节点获取到服务更新信息,则基于所述服务更新信息对所述目标服务端节点本地存储的服务信息进行更新,以生成更新后信息;所述服务更新信息包括服务注册信息与心跳检查信息;
信息同步模块,用于利用预设的信息同步方法将所述目标服务端节点中的更新后信息同步至所述consul集群中的其他服务端节点;
故障监测与运行模块,用于当监测到所述consul集群中的任一服务端节点故障时,则从所述consul集群中确定出故障节点的接替节点,并控制所述接替节点使用所述更新后信息代替所述故障节点以提供服务。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述的集群节点控制方法。
第四方面,本申请公开了一种计算机存储介质,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的集群节点控制方法的步骤。
本申请中当所述consul集群中的目标服务端节点获取到服务更新信息,则基于所述服务更新信息对所述目标服务端节点本地存储的服务信息进行更新,以生成更新后信息;所述服务更新信息包括服务注册信息与心跳检查信息;利用预设的信息同步方法将所述目标服务端节点中的更新后信息同步至所述consul集群中的其他服务端节点;当监测到所述consul集群中的任一服务端节点故障时,则从所述consul集群中确定出故障节点的接替节点,并控制所述接替节点使用所述更新后信息代替所述故障节点以提供服务。这样一来,本申请通过利用信息同步方法将服务注册信息与心跳检查信息同步至consul集群中的其他服务端节点,以便当consul集群中的任一服务端节点故障时,仍能够利用接替节点接管服务的健康检查,保证服务的可用性,本方案提升了consul集群在中小规模微服务架构中的易用性。另外,在实际操作中还减少了部署的复杂性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种集群节点控制方法流程图;
图2为本申请提供的一种节点的数据目录示意图;
图3为本申请提供的一种具体的集群节点控制方法流程图;
图4为本申请提供的一种整体框架图;
图5为本申请提供的一种集群节点控制装置结构示意图;
图6为本申请提供的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,consul的定位是超大规模注册中心,其兼顾强一致性与高可扩展性的特质导致在中小规模微服务架构中,对于开发与维护上存在不便。在本申请中,提出了一种改进consul集群的方法,进而提升consul集群在中小规模微服务架构中的易用性。
本发明实施例公开了一种集群节点控制方法,应用于由奇数个服务端节点构建的consul集群,参见图1所述,该方法包括:
步骤S11:当所述consul集群中的目标服务端节点获取到服务更新信息,则基于所述服务更新信息对所述目标服务端节点本地存储的服务信息进行更新,以生成更新后信息;所述服务更新信息包括服务注册信息与心跳检查信息。
需要指出的是,为简化部署,本申请中所述的consul集群全部采用server节点组成,且默认consul节点为三个,或者更多的奇数个节点,以防止集群出现脑裂问题。其中,如果某些consul不需要参加集群选举,也可以将其部署为client模式,但是在这种情况下,如果consul server全部挂掉,consul集群就会成为不可用状态,所以这种部署方法这样会削弱consul集群的健壮性。
所述当所述consul集群中的目标服务端节点获取到服务更新信息,则基于所述服务更新信息对所述目标服务端节点本地存储的服务信息进行更新,以生成更新后信息,包括:当所述consul集群中的目标服务端节点获取到外部发送的服务更新信息,则确定所述服务更新信息的类别;基于所述服务更新信息的类别,将所述服务更新信息保存至相应的目标目录中,以生成更新后目录;相应的,所述利用预设的信息同步方法将所述目标服务端节点中的更新后信息同步至所述consul集群中的其他服务端节点,包括:利用预设的信息同步方法将所述服务器节点中的更新后目录同步至所述consul集群中的其他服务端节点。
可以理解的是,本申请中的服务更新信息分为两种类别,一种为服务注册信息,另一种为心跳检查信息。所述服务注册信息为服务注册至目标服务端节点时所产生的信息(也可以称为注册存根),所述心跳检查信息为目标服务端节点按照预设的心跳周期获取的服务心跳信息(也可以称为健康检查存根),所述服务心跳信息可以是目标服务端节点按照预设的心跳周期向外部请求的,也可以是外部定期向所述目标服务端节点上报的。
本实施例中,所述基于所述服务更新信息的类别,将所述服务更新信息保存至相应的目标目录中,包括:若所述服务更新信息的类别为服务注册信息,则将所述服务更新信息保存至本地预设的服务注册目录中;若所述服务更新信息的类别为心跳检查信息,则将所述服务更新信息保存至本地预设的心跳检查目录中。
在一种具体的实施方式中,节点的数据目录如图2所示,包括checkpoint-signature、checks、node-id、raft、services,具体地,可以将所述服务注册信息保存至预设的services目录中,将所述心跳检查信息保存至预设的checks目录中,只要实现了这两个目录的集群共享,就能够使服务在任意consul节点注册后,能够被整个consul集群共享,当节点挂掉后,其他consul节点能够直接接管服务的健康检查,保证服务仍然可用。另外,节点中的其他目录保存了集群中此consul节点特有的唯一标识与本地同步或快照信息,不能进行同步,否则会导致集群状态异常。
本实施例中,类似地,还可以将所述服务更新信息存放至预设的文件中,则后续则所述更新后信息将会以文件的形式进行保存,后续利用预设的信息同步方法将相应的文件同步至其他服务端节点即可。
步骤S12:利用预设的信息同步方法将所述目标服务端节点中的更新后信息同步至所述consul集群中的其他服务端节点。
本实施例中,所述利用预设的信息同步方法将所述目标服务端节点中的更新后信息同步至所述consul集群中的其他服务端节点,包括:利用网络文件系统远程挂载的方式将所述服务器节点中的更新后信息同步至所述consul集群中的其他节点;或,利用预设数据镜像备份工具将所述服务器节点中的更新后信息同步至所述consul集群中的其他节点。可以理解的是,本实施例中可以利用NFS(即Network File System,网络文件系统)远程挂载的方式实现目标目录的共享,也可以通过预设数据镜像备份工具实现文件同步,同时共享目录还能够采用高可用方式,进一步增强数据安全性。其中,所述预设数据镜像备份工具包括但不限于使用linux中的rsync。
步骤S13:当监测到所述consul集群中的任一服务端节点故障时,则从所述consul集群中确定出故障节点的接替节点,并控制所述接替节点使用所述更新后信息代替所述故障节点以提供服务。
本实施例中当监测到所述consul集群中的任一服务端节点故障时,则可以利用集群中的其他节点接管服务的健康检查,保证服务的可用性。在此过程中可以先确定出故障接待你的接替节点,然后利用所述接替节点使用所述更新后信息代替所述故障节点以提供服务。
本实施例中当所述consul集群中的目标服务端节点获取到服务更新信息,则基于所述服务更新信息对所述目标服务端节点本地存储的服务信息进行更新,以生成更新后信息,其中,所述服务更新信息包括服务注册信息与心跳检查信息。接着利用预设的信息同步方法将所述目标服务端节点中的更新后信息同步至所述consul集群中的其他服务端节点。最后当监测到所述consul集群中的任一服务端节点故障时,则从所述consul集群中确定出故障节点的接替节点,并控制所述接替节点使用所述更新后信息代替所述故障节点以提供服务。这样一来,本申请通过利用预设的信息同步方法将服务注册信息与心跳检查信息同步至consul集群中的其他服务端节点,以便当consul集群中的任一服务端节点故障时,仍能够利用接替节点接管服务的健康检查,实现服务心跳检测的无缝接管,且保证了服务的可用性。同时,本实施例中提出预设的信息同步方法可以是NFS远程存储挂载的方式,也可以是利用预设数据镜像备份工具进行备份的方式,可以进一步增强数据安全性,进而提升consul集群的易用性。
图3为本申请实施例提供的一种具体的集群节点控制方法流程图。参见图3所示,该方法包括:
步骤S21:当所述consul集群中的目标服务端节点获取到服务更新信息,则基于所述服务更新信息对所述目标服务端节点本地存储的服务信息进行更新,以生成更新后信息;所述服务更新信息包括服务注册信息与心跳检查信息。
其中,关于步骤S21的更加具体的处理过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
步骤S22:利用预设的信息同步方法将所述目标服务端节点中的更新后信息同步至所述consul集群中的其他服务端节点。
其中,关于步骤S22的更加具体的处理过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
步骤S23:当keepalive监测到所述consul集群中的任一服务端节点故障时,则从所述consul集群中确定出故障节点的接替节点,并将预设虚拟IP漂移至所述接替节点,然后利用预设的虚拟IP使用所述接替节点中的所述更新后信息对外提供服务。
所述keepalive监测到所述consul集群中的任一服务端节点故障之前,还包括:利用keepalive为所述consul集群创建虚拟IP,以便所述consul集群中的全部所述服务端节点共享所述虚拟IP;利用keepalive中的预设存活监测机制对当前consul集群中的所有节点进行监测。
需要指出的是,本实施例中可以利用keepalive服务来虚拟出一个IP(即InternetProtocol)对外提供服务,所有的服务都使用此VIP(即Virtual IP,虚拟IP)进行与consul集群的交互,目前SpringCloud原生方式只支持单个consul地址的配置,使用虚拟IP方案能够直接无缝对接现有技术的框架,进而简化服务过程。另外,由于虚拟IP只会在consul节点故障时才会漂移,因此同一时刻,相当于只有一个consul节点对外提供服务,这样便能够保证服务注册时,始终使用特定的consul节点,避免本地存根数据可能不一致的问题。
所述集群节点控制方法,还包括:分别利用各节点中预设的健康检查方法对各节点进行检查,以便各节点对各自的节点权重值进行修改;相应的,所述从所述consul集群中确定出故障节点的接替节点,包括:确定所述consul集群中各节点的权重值,并利用预设的权重筛选策略与所述权重值从所述consul集群中确定所述故障节点的接替节点。可以理解的是,所述各接中均有预设的健康检查方法,且各节点均可以利用各自的健康检查方法对自身进行健康检查,在健康检查后,还可以对各自的节点权重值进行修改,在当前急群众出现故障节点时,便可以利用预设的权重筛选策略与所述权重值从所述consul集群中确定所述故障节点的接替节点,以接替故障节点保证服务的可用性。
图4为本申请提出的一种整体架构图,图中的consul集群中包括三个服务端节点(即图中consul server),其中三个节点已预先通过节点选举确定了一个leader节点与两个follower节点,且三个节点内部均实现了服务存根(即上述注册存根与健康检查存根)的同步。另外,集群通过keepalive创建VIP,并利用所述VIP对外提供服务。在具体实施过程中,当某一服务在进行注册时,则通过VIP进行对外交互。
本实施例中提出使用keepalive服务创建虚拟consul集群VIP的方式简化了服务开发过程,同时规避了现有的consul集群中可能出现的本地数据不一致的问题,且本方案在实际操作中减少了部署的复杂性,且具备高可行性与易用性。
参见图5所示,本申请实施例公开了一种集群节点控制装置,应用于由奇数个服务端节点构建的consul集群,具体可以包括:
信息更新模块11,用于当所述consul集群中的目标服务端节点获取到服务更新信息,则基于所述服务更新信息对所述目标服务端节点本地存储的服务信息进行更新,以生成更新后信息;所述服务更新信息包括服务注册信息与心跳检查信息;
信息同步模块12,用于利用预设的信息同步方法将所述目标服务端节点中的更新后信息同步至所述consul集群中的其他服务端节点;
故障监测与运行模块13,用于当监测到所述consul集群中的任一服务端节点故障时,则从所述consul集群中确定出故障节点的接替节点,并控制所述接替节点使用所述更新后信息代替所述故障节点以提供服务。
本申请中当所述consul集群中的目标服务端节点获取到服务更新信息,则基于所述服务更新信息对所述目标服务端节点本地存储的服务信息进行更新,以生成更新后信息;所述服务更新信息包括服务注册信息与心跳检查信息;利用预设的信息同步方法将所述目标服务端节点中的更新后信息同步至所述consul集群中的其他服务端节点;当监测到所述consul集群中的任一服务端节点故障时,则从所述consul集群中确定出故障节点的接替节点,并控制所述接替节点使用所述更新后信息代替所述故障节点以提供服务。这样一来,本申请通过利用信息同步方法将服务注册信息与心跳检查信息同步至consul集群中的其他服务端节点,以便当consul集群中的任一服务端节点故障时,仍能够利用接替节点接管服务的健康检查,保证服务的可用性,本方案提升了consul集群在中小规模微服务架构中的易用性。另外,在实际操作中还减少了部署的复杂性。
在一些具体实施例中,所述信息更新模块11,包括:
类别确定单元,用于当所述consul集群中的目标服务端节点获取到外部发送的服务更新信息,则确定所述服务更新信息的类别;
目录更新单元,用于基于所述服务更新信息的类别,将所述服务更新信息保存至相应的目标目录中,以生成更新后目录;
相应的,所述信息同步模块12,包括:
目录同步单元,用于利用预设的信息同步方法将所述服务器节点中的更新后目录同步至所述consul集群中的其他服务端节点。
在一些具体实施例中,所述目录更新单元,包括:
第一目录更新单元,用于若所述服务更新信息的类别为服务注册信息,则将所述服务更新信息保存至本地预设的服务注册目录中;
第二目录更新单元,用于若所述服务更新信息的类别为心跳检查信息,则将所述服务更新信息保存至本地预设的心跳检查目录中。
在一些具体实施例中,所述故障监测与运行模块13,包括:
虚拟IP应用单元,用于当keepalive监测到所述consul集群中的任一服务端节点故障时,则从所述consul集群中确定出故障节点的接替节点,并将预设虚拟IP漂移至所述接替节点,然后利用预设的虚拟IP使用所述接替节点中的所述更新后信息对外提供服务。
在一些具体实施例中,所述集群节点控制装置,还包括:
虚拟IP创建单元,用于利用keepalive为所述consul集群创建虚拟IP,以便所述consul集群中的全部所述服务端节点共享所述虚拟IP;
节点监测单元,用于利用keepalive中的预设存活监测机制对当前consul集群中的所有节点进行监测。
在一些具体实施例中,所述集群节点控制装置,还包括:
节点检查单元,用于分别利用各节点中预设的健康检查方法对各节点进行检查,以便各节点对各自的节点权重值进行修改;
权重值确定单元,用于确定所述consul集群中各节点的权重值,并利用预设的权重筛选策略与所述权重值从所述consul集群中确定所述故障节点的接替节点。
在一些具体实施例中,所述信息同步模块12,包括:
第一信息同步单元,用于利用网络文件系统远程挂载的方式将所述服务器节点中的更新后信息同步至所述consul集群中的其他节点;
第二信息同步单元,用于利用预设数据镜像备份工具将所述服务器节点中的更新后信息同步至所述consul集群中的其他节点。
进一步的,本申请实施例还公开了一种电子设备,图6是根据示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图6为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、显示屏24、输入输出接口25、通信接口26和通信总线27。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的集群节点控制方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口26能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的集群节点控制方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请还公开了一种计算机可读存储介质,这里所说的计算机可读存储介质包括随机存取存储器(Random Access Memory,RAM)、内存、只读存储器(Read-OnlyMemory,ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、磁碟或者光盘或技术领域内所公知的任意其他形式的存储介质。其中,所述计算机程序被处理器执行时实现前述公开的集群节点控制方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的集群节点控制方法、装置、设备、存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种集群节点控制方法,其特征在于,应用于由奇数个服务端节点构建的consul集群,包括:
当所述consul集群中的目标服务端节点获取到服务更新信息,则基于所述服务更新信息对所述目标服务端节点本地存储的服务信息进行更新,以生成更新后信息;所述服务更新信息包括服务注册信息与心跳检查信息;
利用预设的信息同步方法将所述目标服务端节点中的更新后信息同步至所述consul集群中的其他服务端节点;
当监测到所述consul集群中的任一服务端节点故障时,则从所述consul集群中确定出故障节点的接替节点,并控制所述接替节点使用所述更新后信息代替所述故障节点以提供服务。
2.根据权利要求1所述的集群节点控制方法,其特征在于,所述当所述consul集群中的目标服务端节点获取到服务更新信息,则基于所述服务更新信息对所述目标服务端节点本地存储的服务信息进行更新,以生成更新后信息,包括:
当所述consul集群中的目标服务端节点获取到外部发送的服务更新信息,则确定所述服务更新信息的类别;
基于所述服务更新信息的类别,将所述服务更新信息保存至相应的目标目录中,以生成更新后目录;
相应的,所述利用预设的信息同步方法将所述目标服务端节点中的更新后信息同步至所述consul集群中的其他服务端节点,包括:
利用预设的信息同步方法将所述服务器节点中的更新后目录同步至所述consul集群中的其他服务端节点。
3.根据权利要求2所述的集群节点控制方法,其特征在于,所述基于所述服务更新信息的类别,将所述服务更新信息保存至相应的目标目录中,包括:
若所述服务更新信息的类别为服务注册信息,则将所述服务更新信息保存至本地预设的服务注册目录中;
若所述服务更新信息的类别为心跳检查信息,则将所述服务更新信息保存至本地预设的心跳检查目录中。
4.根据权利要求1所述的集群节点控制方法,其特征在于,所述当监测到所述consul集群中的任一服务端节点故障时,则从所述consul集群中确定出故障节点的接替节点,并控制所述接替节点使用所述更新后信息代替所述故障节点以提供服务,包括:
当keepalive监测到所述consul集群中的任一服务端节点故障时,则从所述consul集群中确定出故障节点的接替节点,并将预设虚拟IP漂移至所述接替节点,然后利用预设的虚拟IP使用所述接替节点中的所述更新后信息对外提供服务。
5.根据权利要求4所述的集群节点控制方法,其特征在于,所述keepalive监测到所述consul集群中的任一服务端节点故障之前,还包括:
利用keepalive为所述consul集群创建虚拟IP,以便所述consul集群中的全部所述服务端节点共享所述虚拟IP;
利用keepalive中的预设存活监测机制对当前consul集群中的所有节点进行监测。
6.根据权利要求4所述的集群节点控制方法,其特征在于,还包括:
分别利用各节点中预设的健康检查方法对各节点进行检查,以便各节点对各自的节点权重值进行修改;
相应的,所述从所述consul集群中确定出故障节点的接替节点,包括:
确定所述consul集群中各节点的权重值,并利用预设的权重筛选策略与所述权重值从所述consul集群中确定所述故障节点的接替节点。
7.根据权利要求1至6任一项所述的集群节点控制方法,其特征在于,所述利用预设的信息同步方法将所述目标服务端节点中的更新后信息同步至所述consul集群中的其他服务端节点,包括:
利用网络文件系统远程挂载的方式将所述服务器节点中的更新后信息同步至所述consul集群中的其他节点;
或,利用预设数据镜像备份工具将所述服务器节点中的更新后信息同步至所述consul集群中的其他节点。
8.一种集群节点控制装置,其特征在于,应用于由奇数个服务端节点构建的consul集群,包括:
信息更新模块,用于当所述consul集群中的目标服务端节点获取到服务更新信息,则基于所述服务更新信息对所述目标服务端节点本地存储的服务信息进行更新,以生成更新后信息;所述服务更新信息包括服务注册信息与心跳检查信息;
信息同步模块,用于利用预设的信息同步方法将所述目标服务端节点中的更新后信息同步至所述consul集群中的其他服务端节点;
故障监测与运行模块,用于当监测到所述consul集群中的任一服务端节点故障时,则从所述consul集群中确定出故障节点的接替节点,并控制所述接替节点使用所述更新后信息代替所述故障节点以提供服务。
9.一种电子设备,其特征在于,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的计算机程序时实现如权利要求1至7任一项所述的集群节点控制方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的集群节点控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210460861.2A CN114826892A (zh) | 2022-04-28 | 2022-04-28 | 一种集群节点控制方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210460861.2A CN114826892A (zh) | 2022-04-28 | 2022-04-28 | 一种集群节点控制方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114826892A true CN114826892A (zh) | 2022-07-29 |
Family
ID=82510310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210460861.2A Pending CN114826892A (zh) | 2022-04-28 | 2022-04-28 | 一种集群节点控制方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114826892A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108881489A (zh) * | 2018-08-03 | 2018-11-23 | 高新兴科技集团股份有限公司 | 一种分布式服务的协调系统及方法 |
CN110933142A (zh) * | 2019-11-07 | 2020-03-27 | 浪潮电子信息产业股份有限公司 | 一种icfs集群网卡监控方法、装置和设备及介质 |
CN111581284A (zh) * | 2020-04-29 | 2020-08-25 | 上海中通吉网络技术有限公司 | 一种数据库高可用性方法、装置、系统和存储介质 |
CN114020279A (zh) * | 2021-09-29 | 2022-02-08 | 济南浪潮数据技术有限公司 | 应用软件分布式部署方法、系统、终端及存储介质 |
CN114401098A (zh) * | 2021-12-28 | 2022-04-26 | 智昌科技集团股份有限公司 | 一种快速构建微服务的应用系统及方法 |
-
2022
- 2022-04-28 CN CN202210460861.2A patent/CN114826892A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108881489A (zh) * | 2018-08-03 | 2018-11-23 | 高新兴科技集团股份有限公司 | 一种分布式服务的协调系统及方法 |
CN110933142A (zh) * | 2019-11-07 | 2020-03-27 | 浪潮电子信息产业股份有限公司 | 一种icfs集群网卡监控方法、装置和设备及介质 |
CN111581284A (zh) * | 2020-04-29 | 2020-08-25 | 上海中通吉网络技术有限公司 | 一种数据库高可用性方法、装置、系统和存储介质 |
CN114020279A (zh) * | 2021-09-29 | 2022-02-08 | 济南浪潮数据技术有限公司 | 应用软件分布式部署方法、系统、终端及存储介质 |
CN114401098A (zh) * | 2021-12-28 | 2022-04-26 | 智昌科技集团股份有限公司 | 一种快速构建微服务的应用系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210004297A1 (en) | System and method for managing blockchain nodes | |
EP3490224B1 (en) | Data synchronization method and system | |
CN106790595B (zh) | 一种Docker容器主动负载均衡装置及方法 | |
CN110990047B (zh) | 用于多个微服务架构的融合方法及装置 | |
CN113572831B (zh) | Kubernetes集群间的通信方法、计算机设备及介质 | |
US11368407B2 (en) | Failover management using availability groups | |
CN111259072B (zh) | 数据同步方法、装置、电子设备和计算机可读存储介质 | |
US9992058B2 (en) | Redundant storage solution | |
US10462009B1 (en) | Replicating customers' information technology (IT) infrastructures at service provider networks | |
JP2008059583A (ja) | クラスタ・システムならびにクラスタ・システム内でレプリカをバックアップする方法およびプログラム製品 | |
CN104935672A (zh) | 负载均衡服务高可用实现方法和设备 | |
US10673694B2 (en) | Private network mirroring | |
US9131015B2 (en) | High availability event log collection in a networked system | |
CN111045745A (zh) | 管理配置信息的方法和系统 | |
CN110391940A (zh) | 服务地址的响应方法、装置、系统、设备和存储介质 | |
CN115190103A (zh) | 基于服务网格的服务域名解析方法、装置及设备 | |
CN106850747B (zh) | 一种分布式实时转码系统的转码节点管理系统及方法 | |
CN113079098B (zh) | 路由更新的方法、装置、设备和计算机可读介质 | |
EP3817335B1 (en) | System operating using opc ua, communication method using opc ua, and load balancer | |
CN112035062A (zh) | 云计算的本地存储的迁移方法、计算机设备及存储介质 | |
CN114826892A (zh) | 一种集群节点控制方法、装置、设备及介质 | |
CN116260827A (zh) | 一种集群中领导者的选举方法、选举系统及相关装置 | |
US20230146880A1 (en) | Management system and management method | |
CN115189931A (zh) | 一种分布式密钥管理方法、装置、设备、存储介质 | |
CN114930313A (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 |