CN116627638A - 节点的负载均衡方法、装置、计算机设备及存储介质 - Google Patents

节点的负载均衡方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN116627638A
CN116627638A CN202310569000.2A CN202310569000A CN116627638A CN 116627638 A CN116627638 A CN 116627638A CN 202310569000 A CN202310569000 A CN 202310569000A CN 116627638 A CN116627638 A CN 116627638A
Authority
CN
China
Prior art keywords
node
server cluster
switching event
event
state
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
CN202310569000.2A
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 Bank Co Ltd
CIB Fintech Services Shanghai Co Ltd
Original Assignee
Industrial Bank Co Ltd
CIB Fintech Services Shanghai 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 Industrial Bank Co Ltd, CIB Fintech Services Shanghai Co Ltd filed Critical Industrial Bank Co Ltd
Priority to CN202310569000.2A priority Critical patent/CN116627638A/zh
Publication of CN116627638A publication Critical patent/CN116627638A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/547Messaging middleware

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

本公开涉及一种节点的负载均衡方法、装置、计算机设备、存储介质和计算机程序产品,所述方法包括:获取服务器集群的注册数据,生成所述服务器集群的初始负载状态的参数信息;定时判断所述服务器集群在预设时间段内是否发生节点切换事件;在判断预设时间段内发生节点切换事件的情况下,判断所述节点切换事件对应的服务器集群中节点的节点状态是否健康;在所述节点切换事件对应的服务器集群中的任意节点的节点状态为健康的情况下,触发节点恢复事件。本公开可以及时对节点健康的服务器集群恢复至负载均衡的初始负载状态,避免频繁节点切换事件造成负载失衡,还可以加强服务器集群的动态监控。

Description

节点的负载均衡方法、装置、计算机设备及存储介质
技术领域
本公开涉及网络负载结构技术领域,特别是涉及一种节点的负载均衡方法、装置、计算机设备及存储介质。
背景技术
随着大数据时代的到来,业务系统或应用软件需要处理或保存各种各样的数据,这些数据通常存储在内存或后端数据库中。为满足数据量高并发以及读写快速响应的需求,后端数据库可以通过服务器集群提供数据存储和读写服务,例如Redis(RemoteDictionary Server,远程字典服务)集群。
在相关技术中,服务器集群通常设置有一主一从或一主多从的节点模式,并将这些节点分散部署在负载设备上,以分散数据读写压力到不同的负载设备。在数据读写过程中,负载设备上的节点存在切换或升级的情况,例如在主节点出现故障时,从节点升级为主节点,导致负载设备难以均衡,极易出现不稳定的风险。并且随着服务器集群的增多,负载设备会加剧不均衡,甚至打破服务器集群的稳定性。
发明内容
基于此,有必要针对上述技术问题,提供一种节点的负载均衡方法、装置、计算机设备、存储介质和计算机程序产品。
第一方面,本公开提供了一种节点的负载均衡方法。所述方法包括:
获取服务器集群的注册数据,生成所述服务器集群的初始负载状态的参数信息;所述服务器集群包括至少一个节点,所述节点的节点类型包括主节点和从节点;
定时判断所述服务器集群在预设时间段内是否发生节点切换事件;所述节点切换事件包括将所述服务器集群的任意一个从节点切换为主节点;
在判断预设时间段内发生节点切换事件的情况下,判断所述节点切换事件对应的服务器集群中节点的节点状态是否健康;
在所述节点切换事件对应的服务器集群中的任意节点的节点状态为健康的情况下,触发节点恢复事件;所述节点恢复事件包括根据所述节点切换事件和所述初始负载状态的参数信息将所述服务器集群恢复至所述初始负载状态。
在其中一个实施例中,所述方法还包括:
监控所述服务器集群的节点状态,响应于所述服务器集群的主节点故障,触发执行节点切换事件。
在其中一个实施例中,所述方法还包括:
响应于所述服务器集群的主节点故障,生成节点故障信息,并发送至消息中间件;
处理所述消息中间件中的节点故障信息,根据所述节点切换事件生成与所述节点切换事件对应的节点切换记录;
将所述节点切换记录写入变更状态信息表。
在其中一个实施例中,所述定时判断所述服务器集群在预设时间段内是否发生节点切换事件包括:
定时读取所述变更状态信息表,判断在预设时间段内是否新增节点切换记录;在预设时间段内新增节点切换记录的情况下,确定发生节点切换事件;在预设时间段内未新增节点切换记录的情况下,确定未发生节点切换事件。
在其中一个实施例中,所述方法还包括:
处理所述消息中间件中的节点故障信息,根据所述节点故障信息发送告警通知。
在其中一个实施例中,所述在所述节点切换事件对应的服务器集群中的任意节点的节点状态为健康的情况下,触发节点恢复事件包括:
在所述节点切换事件对应的服务器集群中的任意节点的节点状态均健康的情况下,生成节点恢复通知消息,并将所述节点恢复通知消息发送至所述消息中间件;
处理所述消息中间件中的节点恢复通知消息,确定所述服务器集群的流量低谷时间;
根据所述节点恢复通知消息和所述流量低谷时间生成定时任务消息;所述定时任务消息包括集群标识和任务触发时间;
根据所述定时任务消息,按时触发所述节点恢复事件。
第二方面,本公开还提供了一种节点的负载均衡装置。所述装置包括:
初始负载状态模块,用于获取服务器集群的注册数据,生成所述服务器集群的初始负载状态的参数信息;所述服务器集群包括至少一个节点,所述节点的节点类型包括主节点和从节点;
节点切换事件模块,用于定时判断所述服务器集群在预设时间段内是否发生节点切换事件;所述节点切换事件包括将所述服务器集群的任意一个从节点切换为主节点;
节点状态模块,用于在判断预设时间段内发生节点切换事件的情况下,判断所述节点切换事件对应的服务器集群中节点的节点状态是否健康;
节点恢复事件模块,用于在所述节点切换事件对应的服务器集群中的任意节点的节点状态为健康的情况下,触发节点恢复事件;所述节点恢复事件包括根据所述节点切换事件和所述初始负载状态的参数信息将所述服务器集群恢复至所述初始负载状态。
在其中一个实施例中,所述装置还包括:
节点监控模块,用于监控所述服务器集群的节点状态,响应于所述服务器集群的主节点故障,触发执行节点切换事件。
在其中一个实施例中,所述装置还包括:
消息中间件模块,用于响应于所述服务器集群的主节点故障,生成节点故障信息,并发送至消息中间件;
处理线程模块,用于处理所述消息中间件中的节点故障信息,根据所述节点切换事件生成与所述节点切换事件对应的节点切换记录;
信息表模块,用于将所述节点切换记录写入变更状态信息表。
在其中一个实施例中,所述节点切换事件模块还用于定时读取所述变更状态信息表,判断在预设时间段内是否新增节点切换记录;在预设时间段内新增节点切换记录的情况下,确定发生节点切换事件;在预设时间段内未新增节点切换记录的情况下,确定未发生节点切换事件。
在其中一个实施例中,所述装置还包括:
告警模块,用于处理所述消息中间件中的节点故障信息,根据所述节点故障信息发送告警通知。
在其中一个实施例中,所述节点恢复事件模块包括:
消息通知单元,用于在所述节点切换事件对应的服务器集群中的任意节点的节点状态均健康的情况下,生成节点恢复通知消息,并将所述节点恢复通知消息发送至所述消息中间件;
消息处理单元,用于处理所述消息中间件中的节点恢复通知消息,确定所述服务器集群的流量低谷时间;
定时任务单元,用于根据所述节点恢复通知消息和所述流量低谷时间生成定时任务消息;所述定时任务消息包括集群标识和任务触发时间;
按时触发单元,用于根据所述定时任务消息,按时触发所述节点恢复事件。
第三方面,本公开还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述节点的负载均衡方法的步骤。
第四方面,本公开还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述节点的负载均衡方法的步骤。
第五方面,本公开还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述节点的负载均衡方法的步骤。
上述节点的负载均衡方法、装置、计算机设备、存储介质和计算机程序产品,至少包括以下有益效果:
本公开通过记录服务器集群的注册数据进而生成服务器集群的初始负载状态的参数信息,并定时判断服务器集群在预设时间段内是否发生节点切换事件,在判断发生节点切换事件的情况下对发生节点切换事件的服务器集群中的节点状态进行健康判断,进而在任意节点状态健康的情况下触发节点恢复事件,将发生节点切换事件的服务器集群恢复到初始负载状态,一方面可以及时对节点健康的服务器集群恢复至负载均衡的初始负载状态,避免频繁节点切换事件造成负载失衡,另一方面可以加强服务器集群的动态监控,在应对更多服务器集群和频繁节点切换事件发生的情况下,保持服务器集群的负载均衡。
附图说明
为了更清楚地说明本公开实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中节点的负载均衡方法的应用环境图;
图2为一个实施例中节点的负载均衡方法的流程示意图;
图3为另一个实施例中节点的负载均衡方法的流程示意图;
图4为又一个实施例中节点的负载均衡方法的流程示意图;
图5为一个实施例中节点的负载均衡装置的结构框图;
图6为另一个实施例中节点的负载均衡装置的结构框图;
图7为一个实施例中节点恢复事件模块的结构框图;
图8为一个实施例中计算机设备的内部结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
除非另有定义,本文所使用的所有的技术和科学术语与属于本公开的技术领域的技术人员通常理解的含义相同。本文中在本公开的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本公开。
以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。
在此使用时,单数形式的“一”、“一个”和“所述/该”也可以包括复数形式,除非上下文清楚指出另外的方式。还应当理解的是,术语“包括/包含”或“具有”等指定所陈述的特征、整体、步骤、操作、组件、部分或它们的组合的存在,但是不排除存在或添加一个或更多个其他特征、整体、步骤、操作、组件、部分或它们的组合的可能性。同时,在本说明书中,术语“和/或”包括相关所列项目的任何及所有组合。
本公开实施例提供的节点的负载均衡方法,可以应用于如图1所示的应用环境中。其中,若干服务器集群部署在多个服务器设备上,每个服务器集群包括若干节点。例如,图1所示的应用环境包括服务器集群a、服务器集群b、服务器集群c。服务器集群a、服务器集群b、服务器集群c部署在服务器A、服务器B和服务器C上。
其中,服务器集群a用于提供a服务,服务器集群a包括节点a1、节点a2和节点a3,节点a1为主节点,部署在服务器A上,节点a2和节点a3为从节点,节点a2部署在服务器B上,节点a3部署在服务器C上。
服务器集群b用于提供b服务,服务器集群b包括节点b1、节点b2和节点b3,节点b1为主节点,部署在服务器B上,节点b2和节点b3为从节点,节点b2部署在服务器A上,节点b3部署在服务器C上。
服务器集群c用于提供c服务,服务器集群c包括节点c1、节点c2和节点c3,节点c1为主节点,部署在服务器C上,节点c2和节点c3为从节点,节点c2部署在服务器A上,节点c3部署在服务器B上。
注册服务器104通过网络分别与服务器A、服务器B和服务器C进行通信,数据存储系统可以存储注册服务器104需要处理的数据。数据存储系统可以集成在注册服务器104上,也可以放在云上或其他网络服务器上。注册服务器104可以接收服务器A、服务器B和服务器C的注册信息,并服务器A、服务器B和服务器C上的节点进行部署和管控。终端102通过网络与注册服务器104进行通信,服务器104可以向终端102发送节点故障的告警通知。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。注册服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在本公开的一些实施例中,如图2所示,提供了一种节点的负载均衡方法,以该方法应用于图1中的注册服务器为例进行说明,包括以下步骤:
步骤210,获取服务器集群的注册数据,生成所述服务器集群的初始负载状态的参数信息;所述服务器集群包括至少一个节点,所述节点的节点类型包括主节点和从节点。
其中,服务器集群通常是指将多个服务器集中起来一起进行同一种服务,服务器集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行。例如图1中的服务器集群a、服务器集群b和服务器集群c。服务器集群至少包括一个节点,节点通常是指服务(实例),可以实现存储数据,索引并且搜索的功能。每个节点都有一个唯一的名称作为身份标识。
示例性地,注册服务器可以存储服务器集群的注册数据,注册数据可以包括服务器集群的标识、节点部署情况等数据。通过确定服务器集群的注册数据,生成服务器集群的初始负载状态的参数信息,服务器集群的初始负载状态通常是负载均衡的状态,参数信息可以包括集群标识、节点标识、节点类型信息和节点对应的负载信息。其中集群标识为服务器集群唯一的身份标识;节点标识为节点唯一的身份标识;节点类型信息为节点对应的类型信息,可以是主节点或从节点;节点对应的负载信息可以是指节点所部署的服务器唯一的身份标识。可选地,初始负载状态的参数信息可以通过表格形式进行存储。例如,图1中的服务器集群的初始负载状态的参数信息可以用如下表一表示。
集群标识 节点标识 负载信息 节点类型信息
a a1 A
a a2 B
a a3 C
b b1 B
b b2 A
b b3 C
c c1 C
c c2 A
c c3 B
表一
步骤220,定时判断所述服务器集群在预设时间段内是否发生节点切换事件;所述节点切换事件包括将所述服务器集群的任意一个从节点切换为主节点。
示例性地,注册服务器可以定时读取服务器集群的负载状态,判断在预设时间段内是否发生节点切换事件。即,注册服务器可以每间隔设定时间判断在间隔时间段内是否发生节点切换事件,例如注册服务器可以在每天凌晨判断当天是否发生了节点切换事件。其中,节点切换事件可以是指服务器集群的任意一个从节点切换为主节点。
步骤230,在判断发生节点切换事件的情况下,判断所述节点切换事件对应的服务器集群中节点的节点状态是否健康。
示例性地,注册服务器在判断预设时间段内发生节点切换事件的情况下,确定节点切换事件所对应的服务器集群,进而读取该服务器集群中节点的节点状态信息,判断服务器集群中节点的节点状态是否健康。例如,可以根据发生节点切换事件的服务器集群中节点的请求响应速度、流量占比等信息判断节点状态是否健康。
步骤240,在所述节点切换事件对应的服务器集群中的任意节点的节点状态为健康的情况下,触发节点恢复事件;所述节点恢复事件包括根据所述节点切换事件和所述初始负载状态的参数信息将所述服务器集群恢复至所述初始负载状态。
示例性地,注册服务器在对发生节点切换事件的服务器集群中的节点进行节点状态的健康判断时,在确定节点切换事件对应的服务器集群中任意节点的节点状态均为健康的情况下,触发节点恢复事件。其中,节点恢复事件可以是指根据节点切换事件所涉及的节点,以及初始负载状态的参数信息,将发生节点切换事件的服务器集群恢复至该服务器集群的初始负载状态。
上述节点的负载均衡方法中,通过记录服务器集群的注册数据进而生成服务器集群的初始负载状态的参数信息,并定时判断服务器集群在预设时间段内是否发生节点切换事件,在判断发生节点切换事件的情况下对发生节点切换事件的服务器集群中的节点状态进行健康判断,进而在任意节点状态健康的情况下触发节点恢复事件,将发生节点切换事件的服务器集群恢复到初始负载状态,一方面可以及时对节点健康的服务器集群恢复至负载均衡的初始负载状态,避免频繁节点切换事件造成负载失衡,另一方面可以加强服务器集群的动态监控,在应对更多服务器集群和频繁节点切换事件发生的情况下,保持服务器集群的负载均衡。
在本公开的一些实施例中,所述方法还包括:
监控所述服务器集群的节点状态,响应于所述服务器集群的主节点故障,触发执行节点切换事件。
示例性地,注册服务器中设置有哨兵程序,可以实时监控服务器集群的节点状态,并在服务器集群的主节点故障时,触发执行节点切换事件,即服务器集群的任意一个从节点升级为主节点。注册服务器还可以将原有的故障主节点根据故障情况执行删除节点或将主节点降级为从节点等操作,通常优先执行将主节点降级为从节点的操作。本实施例通过实时监控服务器集群的节点状态,在主节点故障时,及时将任一从节点升级为主节点,保障升级后的主节点可以正常提供服务,避免了主节点故障造成的服务卡顿甚至中断。
在本公开的一些实施例中,如图3所示,所述方法还包括:
步骤202,响应于所述服务器集群的主节点故障,生成节点故障信息,并发送至消息中间件。
示例性地,注册服务器在监控到服务器集群的主节点故障时,可以生成用于表征该主节点故障的节点故障信息,节点故障信息可以包括发生主节点故障的服务器集群的集群标识、发生故障的节点标识等。生成的节点故障信息实时发送至“先进先出”的消息中间件中。
步骤204,处理所述消息中间件中的节点故障信息,根据所述节点切换事件生成与所述节点切换事件对应的节点切换记录。
示例性地,注册服务器可以通过异步处理线程处理消息中间件中的节点故障信息,生成与节点切换事件对应的节点切换记录。消息中间件中的消息消费模式可以包括消息中间件主动推送或者注册服务器主动从消息中间件中拉取。其中,节点切换记录可以包括发生节点切换事件的节点对应的集群标识、节点标识、初始节点类型信息、当前节点类型信息、节点切换时间信息等。
步骤206,将所述节点切换记录写入变更状态信息表。
示例性地,将生成的节点切换记录写入变更状态信息表,变更状态信息表可以以列表的方式存储节点切换记录。
例如,某一时刻,服务器集群a中的主节点a1宕机,注册服务器执行节点切换事件,即将服务器集群a中的节点a2升级为主节点,并将节点a1降级为从节点,则本次节点切换事件对应的节点切换记录可以用如下表二表示。
集群标识 节点标识 负载信息 初始节点类型 当前节点类型 记录时间
a a1 A 年/月/日/时
a a2 B 年/月/日/时
表二
本实施例通过响应主节点故障,将节点故障信息发送至消息中间件,并异步处理消息中间件的信息,生成节点切换记录,并将节点切换记录以变更状态信息表的方式存储,不仅可以准确便捷对节点切换事件进行记录,还便于根据规范化的关键字(例如集群标识、节点标识、记录时间等)对节点切换记录进行快速准确的回溯。
在本公开的一些实施例中,步骤220包括:
定时读取所述变更状态信息表,判断在预设时间段内是否新增节点切换记录;在预设时间段内新增节点切换记录的情况下,确定发生节点切换事件;在预设时间段内未新增节点切换记录的情况下,确定未发生节点切换事件。
示例性地,注册服务器可以定时读取变更状态信息表,判断在预设时间段内是否新增节点切换记录。例如,可以以记录时间为关键字进行搜索,可以快速定位到符合时间段的节点切换记录,如果在预设时间段内定位到节点切换记录,即预设时间段内新增了节点切换记录,可以确定预设时间段内服务器集群发生了节点切换事件。如果在预设时间段内没有定位到节点切换记录,即预设时间段内没有新增节点切换记录,可以确定预设时间段内服务器集群未发生节点切换事件。
本实施例注册服务器无需通过频繁读取服务器集群的节点状态信息,也无需进而复杂的逻辑判断,可以通过变更状态信息表快速判断在预设时间段内是否发生节点切换事件。
在本公开的一些实施例中,所述方法还包括:
处理所述消息中间件中的节点故障信息,根据所述节点故障信息发送告警通知。
示例性地,注册服务器可以通过异步处理线程处理消息中间件中的节点故障信息,并根据故障信息向服务器集群对应的管理终端发送告警通知,便于及时提醒管理人员处理故障。
可选地,在主节点故障后,优先将主节点降级为从节点,并监控降级后的从节点是否可以正常提供服务,并在确定该节点依旧无法正常提供服务时,根据故障信息向服务器集群对应的管理终端发送告警通知,提醒管理人员及时处理故障。
本实施例通过处理消息中间件中的节点故障信息,及时触发告警信息,提高了服务器集群应对故障的响应速度。
在本公开的一些实施例中,如图4所示,步骤240包括:
步骤242,在所述节点切换事件对应的服务器集群中的任意节点的节点状态均健康的情况下,生成节点恢复通知消息,并将所述节点恢复通知消息发送至所述消息中间件。
示例性地,注册服务器在读取到节点切换记录后,根据节点切换记录读取对应的服务器集群中所有节点的节点状态,并在确定服务器集群中所有节点的节点状态均健康的情况下,向消息中间件发送节点恢复通知消息。其中,节点恢复通知消息至少包括集群标识。
步骤244,处理所述消息中间件中的节点恢复通知消息,确定所述服务器集群的流量低谷时间。
示例性地,注册服务器可以通过异步处理线程处理消息中间件中的节点恢复通知消息。同时,在读取到节点恢复通知消息后,注册服务器可以通过读取节点恢复通知消息对应的服务器集群的历史服务日志,确定服务器集群的流量低谷时间。
步骤246,根据所述节点恢复通知消息和所述流量低谷时间生成定时任务消息;所述定时任务消息包括集群标识和任务触发时间。
示例性地,注册服务器根据节点恢复通知消息以及确定的流量低谷时间生成定时任务消息。其中,定时任务消息至少包括集群标识和任务触发时间。
步骤248,根据所述定时任务消息,按时触发所述节点恢复事件。
示例性地,注册服务器可以根据定时任务消息中的任务触发时间,按时对定时任务消息中的服务器集群触发节点恢复事件,将该服务器集群恢复至初始负载状态。
本实施例通过消息中间件实现异步生成定时任务消息的目的,且定时任务消息中限定了任务触发时间,使得节点恢复事件可以在服务器集群的流量低谷时间进行触发,有助于保障服务器集群的服务稳定性。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本公开实施例还提供了一种用于实现上述所涉及的节点的负载均衡方法的节点的负载均衡装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个节点的负载均衡装置实施例中的具体限定可以参见上文中对于节点的负载均衡方法的限定,在此不再赘述。
在本公开的一些实施例中,如图5所示,提供了一种节点的负载均衡装置。所述装置500包括:
初始负载状态模块510,用于获取服务器集群的注册数据,生成所述服务器集群的初始负载状态的参数信息;所述服务器集群包括至少一个节点,所述节点的节点类型包括主节点和从节点;
节点切换事件模块520,用于定时判断所述服务器集群在预设时间段内是否发生节点切换事件;所述节点切换事件包括将所述服务器集群的任意一个从节点切换为主节点;
节点状态模块530,用于在判断预设时间段内发生节点切换事件的情况下,判断所述节点切换事件对应的服务器集群中节点的节点状态是否健康;
节点恢复事件模块540,用于在所述节点切换事件对应的服务器集群中的任意节点的节点状态为健康的情况下,触发节点恢复事件;所述节点恢复事件包括根据所述节点切换事件和所述初始负载状态的参数信息将所述服务器集群恢复至所述初始负载状态。
在本公开的一些实施例中,所述装置还包括:
节点监控模块,用于监控所述服务器集群的节点状态,响应于所述服务器集群的主节点故障,触发执行节点切换事件。
在本公开的一些实施例中,如图6所示,所述装置500还包括:
消息中间件模块550,用于响应于所述服务器集群的主节点故障,生成节点故障信息,并发送至消息中间件;
处理线程模块560,用于处理所述消息中间件中的节点故障信息,根据所述节点切换事件生成与所述节点切换事件对应的节点切换记录;
信息表模块570,用于将所述节点切换记录写入变更状态信息表。
在本公开的一些实施例中,所述节点切换事件模块还用于定时读取所述变更状态信息表,判断在预设时间段内是否新增节点切换记录;在预设时间段内新增节点切换记录的情况下,确定发生节点切换事件;在预设时间段内未新增节点切换记录的情况下,确定未发生节点切换事件。
在本公开的一些实施例中,所述装置还包括:
告警模块,用于处理所述消息中间件中的节点故障信息,根据所述节点故障信息发送告警通知。
在本公开的一些实施例中,如图7所示,所述节点恢复事件模块540包括:
消息通知单元542,用于在所述节点切换事件对应的服务器集群中的任意节点的节点状态均健康的情况下,生成节点恢复通知消息,并将所述节点恢复通知消息发送至所述消息中间件;
消息处理单元544,用于处理所述消息中间件中的节点恢复通知消息,确定所述服务器集群的流量低谷时间;
定时任务单元546,用于根据所述节点恢复通知消息和所述流量低谷时间生成定时任务消息;所述定时任务消息包括集群标识和任务触发时间;
按时触发单元548,用于根据所述定时任务消息,按时触发所述节点恢复事件。
上述节点的负载均衡装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。需要说明的是,本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
基于前述节点的负载均衡方法的实施例描述,在本公开提供的另一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种节点的负载均衡方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
基于前述节点的负载均衡方法的实施例描述,在本公开提供的另一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
基于前述节点的负载均衡方法的实施例描述,在本公开提供的另一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
在本说明书的描述中,参考术语“有些实施例”、“其他实施例”、“理想实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特征包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性描述不一定指的是相同的实施例或示例。
可以理解的是,本说明书中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同/相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。相关之处参见其他方法实施例的描述说明即可。
上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本公开的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本公开构思的前提下,还可以做出若干变形和改进,这些都属于本公开的保护范围。因此,本公开专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种节点的负载均衡方法,其特征在于,所述方法包括:
获取服务器集群的注册数据,生成所述服务器集群的初始负载状态的参数信息;所述服务器集群包括至少一个节点,所述节点的节点类型包括主节点和从节点;
定时判断所述服务器集群在预设时间段内是否发生节点切换事件;所述节点切换事件包括将所述服务器集群的任意一个从节点切换为主节点;
在判断预设时间段内发生节点切换事件的情况下,判断所述节点切换事件对应的服务器集群中节点的节点状态是否健康;
在所述节点切换事件对应的服务器集群中的任意节点的节点状态为健康的情况下,触发节点恢复事件;所述节点恢复事件包括根据所述节点切换事件和所述初始负载状态的参数信息将所述服务器集群恢复至所述初始负载状态。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
监控所述服务器集群的节点状态,响应于所述服务器集群的主节点故障,触发执行节点切换事件。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述服务器集群的主节点故障,生成节点故障信息,并发送至消息中间件;
处理所述消息中间件中的节点故障信息,根据所述节点切换事件生成与所述节点切换事件对应的节点切换记录;
将所述节点切换记录写入变更状态信息表。
4.根据权利要求3所述的方法,其特征在于,所述定时判断所述服务器集群在预设时间段内是否发生节点切换事件包括:
定时读取所述变更状态信息表,判断在预设时间段内是否新增节点切换记录;在预设时间段内新增节点切换记录的情况下,确定发生节点切换事件;在预设时间段内未新增节点切换记录的情况下,确定未发生节点切换事件。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
处理所述消息中间件中的节点故障信息,根据所述节点故障信息发送告警通知。
6.根据权利要求3所述的方法,其特征在于,所述在所述节点切换事件对应的服务器集群中的任意节点的节点状态为健康的情况下,触发节点恢复事件包括:
在所述节点切换事件对应的服务器集群中的任意节点的节点状态均健康的情况下,生成节点恢复通知消息,并将所述节点恢复通知消息发送至所述消息中间件;
处理所述消息中间件中的节点恢复通知消息,确定所述服务器集群的流量低谷时间;
根据所述节点恢复通知消息和所述流量低谷时间生成定时任务消息;所述定时任务消息包括集群标识和任务触发时间;
根据所述定时任务消息,按时触发所述节点恢复事件。
7.一种节点的负载均衡装置,其特征在于,所述装置包括:
初始负载状态模块,用于获取服务器集群的注册数据,生成所述服务器集群的初始负载状态的参数信息;所述服务器集群包括至少一个节点,所述节点的节点类型包括主节点和从节点;
节点切换事件模块,用于定时判断所述服务器集群在预设时间段内是否发生节点切换事件;所述节点切换事件包括将所述服务器集群的任意一个从节点切换为主节点;
节点状态模块,用于在判断预设时间段内发生节点切换事件的情况下,判断所述节点切换事件对应的服务器集群中节点的节点状态是否健康;
节点恢复事件模块,用于在所述节点切换事件对应的服务器集群中的任意节点的节点状态为健康的情况下,触发节点恢复事件;所述节点恢复事件包括根据所述节点切换事件和所述初始负载状态的参数信息将所述服务器集群恢复至所述初始负载状态。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202310569000.2A 2023-05-19 2023-05-19 节点的负载均衡方法、装置、计算机设备及存储介质 Pending CN116627638A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310569000.2A CN116627638A (zh) 2023-05-19 2023-05-19 节点的负载均衡方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310569000.2A CN116627638A (zh) 2023-05-19 2023-05-19 节点的负载均衡方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN116627638A true CN116627638A (zh) 2023-08-22

Family

ID=87609265

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310569000.2A Pending CN116627638A (zh) 2023-05-19 2023-05-19 节点的负载均衡方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN116627638A (zh)

Similar Documents

Publication Publication Date Title
CN104040481B (zh) 用于融合、存储和检索增量式备份数据的方法和系统
CN106294009B (zh) 数据库归档方法及系统
CN101651576B (zh) 告警信息处理方法和系统
CN104035836A (zh) 集群检索平台中的自动容灾恢复方法及系统
CN109298978B (zh) 一种指定位置的数据库集群的恢复方法及系统
CN102708158A (zh) 一种PostgreSQL云存储归档调度系统
US8843450B1 (en) Write capable exchange granular level recoveries
CN113297173A (zh) 分布式数据库集群管理方法及装置、电子设备
CN110764705B (zh) 一种数据的读写方法、装置、设备和存储介质
CN115617770B (zh) 一种用于车辆状态信号数据存储的数据磁盘存储管理方法
CN116627638A (zh) 节点的负载均衡方法、装置、计算机设备及存储介质
CN114924914B (zh) 磁盘分区表信息备份、恢复方法及系统
CN114666201B (zh) 一种高可用的分布式微服务架构
CN110018986B (zh) 异常快照识别方法及装置
CN114138615A (zh) 一种业务告警处理方法、装置、设备及存储介质
CN117931789B (zh) 数据回收任务的有序处理方法、系统、计算机设备
CN116932779B (zh) 知识图谱的数据处理方法和装置
CN117539690B (zh) 多磁盘数据的合并恢复方法、装置、设备、介质和产品
CN118151850A (zh) 数据存储方法、装置、计算机设备、存储介质
CN115730016B (zh) 数据同步方法、系统、装置、计算机设备和存储介质
CN117668042A (zh) 排行榜的数据对账方法、计算机设备和存储介质
CN115543919A (zh) 档案处理方法、装置、计算机设备和存储介质
CN116414810A (zh) 业务数据核对方法、装置、存储介质和计算机程序产品
CN117194524A (zh) 离线指标数据的处理方法、装置、设备及存储介质
CN118152079A (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