CN117294714A - 一种无中心节点的服务器集群负载均衡方法 - Google Patents

一种无中心节点的服务器集群负载均衡方法 Download PDF

Info

Publication number
CN117294714A
CN117294714A CN202311092457.5A CN202311092457A CN117294714A CN 117294714 A CN117294714 A CN 117294714A CN 202311092457 A CN202311092457 A CN 202311092457A CN 117294714 A CN117294714 A CN 117294714A
Authority
CN
China
Prior art keywords
server
cluster
load
client
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
CN202311092457.5A
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.)
Beijing Institute of Computer Technology and Applications
Original Assignee
Beijing Institute of Computer Technology and Applications
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 Beijing Institute of Computer Technology and Applications filed Critical Beijing Institute of Computer Technology and Applications
Priority to CN202311092457.5A priority Critical patent/CN117294714A/zh
Publication of CN117294714A publication Critical patent/CN117294714A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1042Peer-to-peer [P2P] networks using topology management mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种无中心节点的服务器集群负载均衡方法,属于服务器集群领域。本发明设计了一种无中心的服务器集群负载均衡方法,无中心集群整体不依赖于主机的存活,不需要设计主机灾备时的选举、备份机制,整个集群更轻便且集群内节点间可替换性更高。本发明在无中心集群情况下负载分配方法中选择使用面向长连接客户端的集群内节点决策,与通过客户端进行负载分配的方法相比,本发明的方法由集群内节点共同协商、决策负载,各节点对负载的客户端建立长连接,避免了由客户端决策负载均衡时产生的负载不均问题。

Description

一种无中心节点的服务器集群负载均衡方法
技术领域
本发明属于服务器集群领域,具体涉及一种无中心节点的服务器集群负载均衡方法。
背景技术
提高服务器服务性能的主要办法是将单台服务器拓展成为服务器集群,将大量、冲突的服务请求分摊到集群中多台服务器上,保证服务的快速响应。相比于单机服务,服务器集群的处理性能更快,可扩展性更好。
当服务器集群服务时,不同的负载策略可能导致集群中各节点承担的请求数量不一致。极端情况下,集群中部分节点满负载而其他节点空负载,这将极大的浪费处理资源并降低集群的响应速度。负载均衡算法通过制定服务器集群在收到请求时的分配方式来达到集群内均衡负载或尽可能均衡的负载。一般的负载均衡方法通过在集群内设定主机以及从机,由主机进行任务分配,从机接受任务并处理请求。这种方法由于主机知晓所有请求及其分配,因此具有较好的负载均衡。但却极大的依赖于主机的稳定性,当主机宕机时,集群会重新推选主机或将与主机进行热备份的备机提升为主机,从而保证系统的稳定运行。因此,由主机负责分配负载的服务器集群往往设定复杂庞大的主机备份、选举机制,并极度的依赖于主机存活。
一种防止由于主机故障导致集群瘫痪的方法是取消集群内主机的设定,提出一种无中心节点模式的算法。由于没有中心节点,集群内每个机器的重要程度是相同的,集群不依赖于某一特定节点,任意一个独立节点的故障不会导致整个集群的瘫痪。使得集群的可移植性、替换性更高。
中国专利“CN116527673A一种基于去中心化的集群服务实现方法”提出了一种去中心化的集群服务实现方法。此专利通过使用服务器信息结构体方式,由服务器主动向加入同一组播地址其它设备发送其服务器信息,由加入组播的其它设备挑选感兴趣的服务器类型组成服务器信息链表。将原来中心化的服务器集群后移至各接收设备侧组成无中心化的集群,避免了服务器进行主从选举,也无需由主服务器进行负载均衡,实现了无中心化的集群功能。
中国专利“CN116527673A一种基于去中心化的集群服务实现方法”所述的技术方法在进行负载均衡时,对负载的判断、决策由客户端完成,每当客户机需要发送数据到服务器时,依据负载均衡策略从服务器信息链表中选择合适的服务器发送数据。但是,当大并发量情况下,所有客户机在每一次发送数据时都选择集群中最合适的服务器,由于服务器状态是周期性上报的,所有客户机同时更新服务器负载情况,网络理想的情况下,各客户端内存储的服务器负载情况应是相同的或接近的。此时客户端进行服务器选择,非常容易产生本次大量请求选择同一台服务器的情况,导致该服务器独自处理所有请求,产生负载不均的情况。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是如何提供一种无中心节点的服务器集群负载均衡方法,以解决服务器集群依赖于主机存活,以及由客户端决策负载均衡时产生的负载不均问题。
(二)技术方案
为了解决上述技术问题,本发明提出一种无中心节点的服务器集群负载均衡方法,该方法包括如下步骤:
S1、客户端、服务器同时加入组播组,该组播组用于客户端上报入网登录信息以及服务器节点周期性上报自身状态;
S2、服务器节点定时向组播组上报自身状态;
S3、客户端启动后,向组播组中发送“请求登录”指令;
S4、客户端根据组播中收到的各服务器状态,选择当前负载最低的服务器进行长连接;
S5、服务器接受客户端的连接请求后,记录该客户端的连接时间,并为该客户端提供业务服务;
S6、任一服务器节点接收到其他服务器的状态信息后,更新集群状态,统计当前集群内负载的客户端数量、集群内服务器数量以及当前自身负载的客户端数量,根据统计信息向客户端发送“服务器变更”请求;
S7、当客户端收到“服务器变更”请求后,首先完成正在进行的业务通信,随后根据最近一次同步的集群信息,选择负载最低的服务器进行长连接;
S8、若客户端通信过程中进行长连接的服务器发生故障,则客户端在该服务器T秒无应答后进行重传,重传M次后仍无应答,则根据最近一次同步的集群信息,选择负载最低的服务器进行长连接。
进一步地,所述S2中,上报的状态内容包括:自身IP地址、已负载的客户端数量、本次周期内处理的数据量。
进一步地,所述S3中,请求登录指令包括:自身IP地址。
进一步地,所述S3具体包括:
S31、各服务器收到“请求登录”指令后立刻向组播组中上报自身状态;
S32、若此时集群内无服务器节点,则客户端报错并退出。
进一步地,所述S4具体包括:
S41、若所有服务器均已达到负载上限,则客户端报错并退出;
S42、若成功连接,则客户端与服务器进行业务通信,并持续监听组播信息、更新各服务器负载情况,更新集群状态;
S43、若组播组中连续的N次周期内没有收到某一服务器状态,则将该服务器设置为故障,直至下次该服务器正常上报状态。
进一步地,所述S6具体包括:
S61、若自身负载数量大于集群内负载平均值,则根据连接时间向连接时长最短的P个客户端发送“服务器变更”请求,使得自身负载量处于集群负载均值;
S62、若自身负载数量小于等于集群内负载平均值,则保持当前状态;
S63、若组播组中连续的N次周期内没有收到某一服务器状态,则将该服务器设置为故障,直至下次该服务器正常上报状态。
进一步地,N=3。
进一步地,集群内负载平均值=当前集群内负载的客户端数量/集群内服务器数量。
进一步地,T=2。
进一步地,M=3。
(三)有益效果
本发明提出一种无中心节点的服务器集群负载均衡方法,与现有技术相比,本发明提出的方案设计了一种无中心的服务器集群负载均衡方法,与有中心集群的负载均衡方法相比,无中心集群整体不依赖于主机的存活,不需要设计主机灾备时的选举、备份机制,整个集群更轻便且集群内节点间可替换性更高。
进一步地,本发明在无中心集群情况下负载分配方法中选择使用面向长连接客户端的集群内节点决策,与通过客户端进行负载分配的方法相比,本发明的方法由集群内节点共同协商、决策负载,各节点对负载的客户端建立长连接,避免了由客户端决策负载均衡时产生的负载不均问题。
附图说明
图1为本发明的处理过程方法流程图。
具体实施方式
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明的目的是提出一种由无中心集群分配并发请求的负载均衡方法,由集群内各服务器节点对请求进行同步、分配、处理,客户端根据集群的决策结果选择一台服务器进行稳定通信,既保证了集群无中心化,又避免了由客户端决策负载时产生的负载不均问题。
图1是本发明技术方案的主流程图。如图1所示,本发明提出一种无中心节点的服务器集群负载均衡方法,包括如下步骤:
S1、客户端、服务器同时加入组播组,该组播组用于客户端上报入网登录信息以及服务器节点周期性上报自身状态。
S2、服务器节点定时向组播组上报自身状态,状态内容包括:自身IP地址、已负载的客户端数量、本次周期内处理的数据量。
S3、客户端启动后,向组播组中发送“请求登录”指令,请求登录指令包括:自身IP地址。
S31、各服务器收到“请求登录”指令后立刻向组播组中上报自身状态。
S32、若此时集群内无服务器节点,则客户端报错并退出。
S4、客户端根据组播中收到的各服务器状态,选择当前负载最低的服务器进行长连接。
S41、若所有服务器均已达到负载上限,则客户端报错并退出。
S42、若成功连接,则客户端与服务器进行业务通信,并持续监听组播信息、更新各服务器负载情况,更新集群状态。
S43、若组播组中连续的N次周期内没有收到某一服务器状态,则将该服务器设置为故障,直至下次该服务器正常上报状态。某个实施例中,N=3。
S5、服务器接受客户端的连接请求后,记录该客户端的连接时间,并为该客户端提供业务服务。
S6、任一服务器节点接收到其他服务器的状态信息后,更新集群状态,统计当前集群内负载的客户端数量、集群内服务器数量以及当前自身负载的客户端数量,根据统计信息向客户端发送“服务器变更”请求。
S61、若自身负载数量大于集群内负载平均值,则根据连接时间向连接时长最短的P个客户端发送“服务器变更”请求,使得自身负载量处于集群负载均值。其中,集群内负载平均值=当前集群内负载的客户端数量/集群内服务器数量。
S62、若自身负载数量小于等于集群内负载平均值,则保持当前状态。
S63、若组播组中连续的N次周期内没有收到某一服务器状态,则将该服务器设置为故障,直至下次该服务器正常上报状态。某个实施例中,N=3。
S7、当客户端收到“服务器变更”请求后,首先完成正在进行的业务通信,随后根据最近一次同步的集群信息,选择负载最低的服务器进行长连接。
S8、若客户端通信过程中进行长连接的服务器发生故障,则客户端在该服务器T秒无应答后进行重传,重传M次后仍无应答,则根据最近一次同步的集群信息,选择负载最低的服务器进行长连接。某个实施例中,T=2、M=3。
本发明通过设计一种无中心集群的负载均衡方法,使得服务器集群不依赖于主机,免去了繁复的主机选举、备份机制;在负载分配过程中使用服务器集群内节点协商分配,避免了由客户端决策分配时导致的负载不均问题。
与现有技术相比,本发明提出的方案设计了一种无中心的服务器集群负载均衡方法,与有中心集群的负载均衡方法相比,无中心集群整体不依赖于主机的存活,不需要设计主机灾备时的选举、备份机制,整个集群更轻便且集群内节点间可替换性更高。
进一步地,本发明在无中心集群情况下负载分配方法中选择使用面向长连接客户端的集群内节点决策,与通过客户端进行负载分配的方法相比,本发明的方法由集群内节点共同协商、决策负载,各节点对负载的客户端建立长连接,避免了由客户端决策负载均衡时产生的负载不均问题。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (10)

1.一种无中心节点的服务器集群负载均衡方法,其特征在于,该方法包括如下步骤:
S1、客户端、服务器同时加入组播组,该组播组用于客户端上报入网登录信息以及服务器节点周期性上报自身状态;
S2、服务器节点定时向组播组上报自身状态;
S3、客户端启动后,向组播组中发送“请求登录”指令;
S4、客户端根据组播中收到的各服务器状态,选择当前负载最低的服务器进行长连接;
S5、服务器接受客户端的连接请求后,记录该客户端的连接时间,并为该客户端提供业务服务;
S6、任一服务器节点接收到其他服务器的状态信息后,更新集群状态,统计当前集群内负载的客户端数量、集群内服务器数量以及当前自身负载的客户端数量,根据统计信息向客户端发送“服务器变更”请求;
S7、当客户端收到“服务器变更”请求后,首先完成正在进行的业务通信,随后根据最近一次同步的集群信息,选择负载最低的服务器进行长连接;
S8、若客户端通信过程中进行长连接的服务器发生故障,则客户端在该服务器T秒无应答后进行重传,重传M次后仍无应答,则根据最近一次同步的集群信息,选择负载最低的服务器进行长连接。
2.如权利要求1所述的无中心节点的服务器集群负载均衡方法,其特征在于,所述S2中,上报的状态内容包括:自身IP地址、已负载的客户端数量、本次周期内处理的数据量。
3.如权利要求1所述的无中心节点的服务器集群负载均衡方法,其特征在于,所述S3中,请求登录指令包括:自身IP地址。
4.如权利要求3所述的无中心节点的服务器集群负载均衡方法,其特征在于,所述S3具体包括:
S31、各服务器收到“请求登录”指令后立刻向组播组中上报自身状态;
S32、若此时集群内无服务器节点,则客户端报错并退出。
5.如权利要求4所述的无中心节点的服务器集群负载均衡方法,其特征在于,所述S4具体包括:
S41、若所有服务器均已达到负载上限,则客户端报错并退出;
S42、若成功连接,则客户端与服务器进行业务通信,并持续监听组播信息、更新各服务器负载情况,更新集群状态;
S43、若组播组中连续的N次周期内没有收到某一服务器状态,则将该服务器设置为故障,直至下次该服务器正常上报状态。
6.如权利要求5所述的无中心节点的服务器集群负载均衡方法,其特征在于,所述S6具体包括:
S61、若自身负载数量大于集群内负载平均值,则根据连接时间向连接时长最短的P个客户端发送“服务器变更”请求,使得自身负载量处于集群负载均值;
S62、若自身负载数量小于等于集群内负载平均值,则保持当前状态;
S63、若组播组中连续的N次周期内没有收到某一服务器状态,则将该服务器设置为故障,直至下次该服务器正常上报状态。
7.如权利要求6所述的无中心节点的服务器集群负载均衡方法,其特征在于,N=3。
8.如权利要求6所述的无中心节点的服务器集群负载均衡方法,其特征在于,集群内负载平均值=当前集群内负载的客户端数量/集群内服务器数量。
9.如权利要求6所述的无中心节点的服务器集群负载均衡方法,其特征在于,T=2。
10.如权利要求6所述的无中心节点的服务器集群负载均衡方法,其特征在于,M=3。
CN202311092457.5A 2023-08-29 2023-08-29 一种无中心节点的服务器集群负载均衡方法 Pending CN117294714A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311092457.5A CN117294714A (zh) 2023-08-29 2023-08-29 一种无中心节点的服务器集群负载均衡方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311092457.5A CN117294714A (zh) 2023-08-29 2023-08-29 一种无中心节点的服务器集群负载均衡方法

Publications (1)

Publication Number Publication Date
CN117294714A true CN117294714A (zh) 2023-12-26

Family

ID=89257904

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311092457.5A Pending CN117294714A (zh) 2023-08-29 2023-08-29 一种无中心节点的服务器集群负载均衡方法

Country Status (1)

Country Link
CN (1) CN117294714A (zh)

Similar Documents

Publication Publication Date Title
US11307943B2 (en) Disaster recovery deployment method, apparatus, and system
EP2710470B1 (en) Extensible centralized dynamic resource distribution in a clustered data grid
EP2283632B1 (en) Resource pooling in a blade cluster switching center server
CN105743995B (zh) 一种可移植高可用部署和管理容器集群的系统和方法
US7225356B2 (en) System for managing operational failure occurrences in processing devices
AU722469B2 (en) Method and apparatus for connecting a client node to a server node based on load levels
CN111371857B (zh) 对复制型数据库的访问进行负载平衡
US8631270B2 (en) Method, device for running internet protocol television service system, and internet protocol television service system
CN101571813B (zh) 一种多机集群中主从调度方法
US20070061379A1 (en) Method and apparatus for sequencing transactions globally in a distributed database cluster
CN103259832A (zh) 实现动态负载平衡、故障诊断与转移的群集资源控制方法
JP2009527056A (ja) サーバ管理システムおよび方法
CN108228393A (zh) 一种可扩展的大数据高可用的实现方法
CN108173971A (zh) 一种基于主备切换的MooseFS高可用方法及系统
CN113489784B (zh) 分布式存储的非对称逻辑单元访问多路径实现方法及系统
CN110971662A (zh) 一种基于Ceph的两节点高可用实现方法及装置
CN114844912B (zh) 数据链路分配方法、装置及分布式块存储系统
CN114124650A (zh) 一种sptn网络控制器主从部署方法
CN117294714A (zh) 一种无中心节点的服务器集群负载均衡方法
US9015518B1 (en) Method for hierarchical cluster voting in a cluster spreading more than one site
KR100435985B1 (ko) 투표를 활용한 무정지 서비스 시스템 및 그 시스템에서의정보 갱신 및 제공 방법
CN114363350A (zh) 一种服务治理系统及方法
CN110435722B (zh) 一种轨道交通综合监控系统跨区域数据交换的负载均衡实现方法
US20080215715A1 (en) Recording medium storing information distribution program, information distribution apparatus, and information distribution method
US20080034053A1 (en) Mail Server Clustering

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