CN111767147A - 云计算中一种针对分布式消息系统的负载均衡方法 - Google Patents

云计算中一种针对分布式消息系统的负载均衡方法 Download PDF

Info

Publication number
CN111767147A
CN111767147A CN202010593867.8A CN202010593867A CN111767147A CN 111767147 A CN111767147 A CN 111767147A CN 202010593867 A CN202010593867 A CN 202010593867A CN 111767147 A CN111767147 A CN 111767147A
Authority
CN
China
Prior art keywords
copy
node
target
migration
selecting
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.)
Withdrawn
Application number
CN202010593867.8A
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 University of Technology
Original Assignee
Beijing University of Technology
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 University of Technology filed Critical Beijing University of Technology
Priority to CN202010593867.8A priority Critical patent/CN111767147A/zh
Publication of CN111767147A publication Critical patent/CN111767147A/zh
Withdrawn legal-status Critical Current

Links

Images

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
    • 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/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • 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/1044Group management mechanisms 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种针对分布式消息系统的负载均衡方法。针对分布式消息系统下不同副本的功能角色,提出了首领角色迁移和副本迁移两种负载迁移策略。针对两种负载迁移策略,详细设计了目标副本和目的节点选择策略依据的方法。实现在负载迁移的同时,保证分布式环境下的副本一致性、分区可用性、数据可靠性以及共享集群下各个用户之间对资源利用的互不影响。

Description

云计算中一种针对分布式消息系统的负载均衡方法
技术领域
本发明属于大数据技术领域,具体涉及云计算中一种分布式消息系统的负载均衡方法。
背景技术
分布式消息系统的负载均衡使得负载可以均衡地分布在消息系统的各个节点中,可以提高消息系统的吞吐量和整体性能。在分布式消息系统中,一个消息队列会存在多个分区来提高并发度,分区是生产和消费消息的基本逻辑单元。依据分区各副本的角色不同,对不同资源的影响也是不尽相同的。首领副本需要负责客户端(生产者和消费者)的读写服务,而追随者副本只负责和首领副本同步消息,不对外提供服务,因此首领占据更高的CPU及网络出站流量。相同分区下不同角色副本的数据内容是相同的,无论是首领副本还是追随者副本都占有相同的磁盘空间。
基于上述分析,不同角色副本的资源使用情况总结如表1所示。
表1不同角色副本对不同资源的影响
Figure BDA0002554645410000011
Figure BDA0002554645410000021
发明内容
针对集群出现的负载倾斜问题,本发明基于分布式消息系统中,不同副本角色对资源的不同使用程度,提出了一种分布式消息系统的负载均衡方法。当节点出现负载过高的场景时,本发明可基于副本角色的不同,执行对应的策略,从而使集群达到负载均衡的状态。
具体技术方案如下:
当源节点出现CPU或网络出站流量过高时,首先采取首领角色迁移策略,若首领角色迁移策略实施完成后,源节点的CPU使用率或网络出站流量情况仍然过高,则采取副本迁移策略;
当源节点出现磁盘或网络入站流量过高的场景时,直接实施副本迁移策略。
首领角色迁移策略指将源节点上某分区目标副本的首领角色转移至目标节点上该分区的追随者副本。首领角色迁移策略需满足的必要条件为源副本是首领角色并且目标节点上必须具有与源副本相同分区的追随者副本。执行迁移策略后,目标节点资源使用可估计为原资源使用加上目标副本的部分CPU使用和全部网络出站流量。
副本迁移策略指将源节点上目标副本物理转移到目标节点上。该策略需满足的必要条件为在转移之前,目标节点不具有与该副本相同分区的其它副本。满足该条件的目的是在执行副本迁移策略后,该分区仍然能够满足集群内的多副本机制,以保证分布式下该分区的可用性。
当源节点出现CPU或网络出站流量过高时,应首先采取首领角色迁移策略。将源节点上目标副本的首领角色转移至目标节点相同分区的追随者副本上,并将源节点上目标副本的首领降级为追随者级别。若首领角色迁移策略实施完成后,源节点的CPU使用率或网络出站流量情况仍然过高,则应再采取副本迁移策略,将源节点上目标副本物理转移到目标节点上。之所以先执行首领角色迁移策略再执行副本迁移策略,是因为前者比后者的代价小得多。对副本角色的切换本质上是一种逻辑转移,仅需对元数据执行修改,不涉及数据自身的转移或改变;而副本迁移过程是对数据自身进行的物理位置上的转移,持续时间较长且相对较难被中断,中断后的状态也无法较为精准地确定。因此针对CPU和网络读流量的负载倾斜问题,应首先采取首领角色迁移策略,若不能满足目标,再执行副本迁移策略。
进一步的,源节点上目标副本的确定方法为:选择所有追随者副本都已经完全同步的首领角色副本,并且对资源占用大的副本作为目标副本。
进一步的,所述目标节点的确定方法为:首先,选择具有与目标副本相同分区的追随者副本的节点作为候选节点,并且候选节点的追随者副本与目标副本处于完全同步的状态;然后,从候选节点中选择在首领角色迁移策略执行后,负载对资源的使用情况不超过阈值的节点;经前两个步骤之后,从剩下的候选节点中选择经过本次迁移操作不破坏本次流程中已经执行完成的其它迁移策略的节点;最后,选择在执行本次迁移操作系统负载状态更加均衡的节点作为目标节点,即执行迁移策略后,目标节点与源节点的资源利用情况的差值小于执行迁移策略前,目标节点与源节点的资源利用情况的差值。
当源节点出现磁盘或网络入站流量过高的场景时,无论首领副本还是追随者副本对磁盘利用率和网络写流量的影响是相同的,因此没有必要采取首领角色迁移策略,直接实施副本迁移策略即可。
进一步的,所述源节点上目标副本的确定方法为:选择所有追随者副本都已经完全同步的首领角色副本,并且对资源占用小的副本作为目标副本。
进一步的,所述目标节点的确定方法为:首先,选择不具有与目标副本相同分区的节点作为候选节点;然后,从候选节点中选择在副本迁移策略执行后,负载对资源的使用情况不超过阈值的节点;经前两个步骤之后,从剩下的候选节点中选择经过本次迁移操作不破坏本次流程中已经执行完成的其它迁移策略的节点;最后,选择在执行本次迁移操作系统负载状态更加均衡的节点作为目标节点,即执行迁移策略后,目标节点与源节点的资源利用情况的差值小于执行迁移策略前,目标节点与源节点的资源利用情况的差值。
有益效果
本发明基于副本角色的不同执行对应的策略,从而使集群达到负载均衡,有效的解决了消息负载不均衡的问题。
附图说明
图1、本发明方法流程图。
具体实施方式
当源节点出现CPU或网络出站流量过高时,首先采取首领角色迁移策略,若首领角色迁移策略实施完成后,源节点的CPU使用率或网络出站流量情况仍然过高,则采取副本迁移策略;
当源节点出现磁盘或网络入站流量过高的场景时,直接实施副本迁移策略。
在执行迁移策略过程中,需要确定迁移目标副本和迁移目标节点。目标副本和目标节点的选择需要依据一定分布式理论,实现在执行迁移策略的同时保证分布式环境下的数据可靠性、副本一致性、分区可用性以及避免共享集群下用户间对资源利用的互相干扰。下面对此详细说明。
当执行首领角色迁移策略时,选择迁移的目标副本应该同时依据以下两个原则,并且在满足原则(1)的前提下满足原则(2):(1)完全同步副本优先原则。这一原则指优先选择所有追随者副本都已经完全同步的首领角色副本作为迁移目标。提出完全同步副本优先原则的理由是源于在分布式架构中,数据的各个副本之间需要满足一致性原则。若目标首领副本中存在着未能够及时同步到追随者副本的消息,那么当首领角色迁移后,为了保证分布式下各个副本的数据保持一致性,原首领角色上未被完全同步的消息就会被永久置为失效的状态。这会导致消费者将无法消费到这些失效状态的消息,而消息的不丢失应是消息系统最基本的保障。因此,为了保证分布式环境下的数据可靠性,在选择首领角色迁移的目标副本时,应该首先满足完全同步副本优先原则;(2)大副本优先策略。大副本优先指优先选择对资源占用更大的副本作为目标。提出这一原则的理由是通过优先迁移对资源占用较大的负载,移动尽量较少的步骤,使系统达到负载均衡的状态。
当执行副本迁移策略时,选择迁移的目标副本应同时依据以下两个原则,并且在满足原则(1)的前提下满足原则(2):(1)完全同步副本优先原则。虽然这一原则与上文中首领角色迁移策略的目标首领选择策略基于的原则(1)是相同的,但二者依据的理由是不完全一致的。本质上,副本迁移过程是追随者副本同步过程。在目的节点新建一个不具有数据的空副本。这一新副本以追随者的角色同步迁移目标副本中的消息。当完成完全同步后,将目标节点中的目标副本删除并更新元数据。若目标副本所在分区原本就存在未能和首领副本同步的追随者副本,则意味着这一分区的具有较大的消息负载,追随者原本就来不及追赶首领。那么在副本迁移的同时,很可能会出现一直无法迁移结束的现象,降低了消息服务的性能。因此,副本迁移过程应首先依据策略完全同步副本优先策略;(2)小副本优先策略。小副本优先原则指优先选择节点上对资源占用更小的副本作为迁移目标。这一原则与首领角色迁移策略的选择目标首领选择依据的原则正相反。副本迁移过程的目标选择策略中应优先选择资源利用率较小的副本。因为副本迁移过程是物理上的数据真实迁移,迁移过程中会占用额外的网络带宽资源。集群能够应用的网络带宽资源是有限的。若优先迁移资源利用较大的副本,将会占用大量网络带宽资源,导致其它线上副本的网络出入站速率骤降,引发正常生产消费的数据产生严重的延迟问题,影响到不相干业务的用户。因此,为了保证共享集群下用户间对资源使用的不干扰,在进行目标副本迁移的过程中优先选择较小的副本。
在目的节点选择方面,两策略具有较强的相似性,唯一差异性在于首领角色迁移的目的节点具有与目标分区相同的追随者副本,并且追随者副本和副本完全同步。提出这一原则的理由是因为本质上,首领角色迁移过程就是分布式环境下的主从节点切换过程。候选节点应与原主节点的数据差异尽可能地小,这样才能够将数据丢失的风险最小化。对于副本迁移,目的节点中原本不具有与目标副本相同分区的其它副本。提出这一原则的理由是分布式架构下需要通过数据复制来提高可用性的原则。同一分区的数据应该存在多个副本分别分布于多个节点之中。当部分节点出现故障时,系统仍然可以继续工作,避免存在于故障节点的数据出现不可用的情况。但如若目的节点中原本就具有与目标副本相同分区的其它副本,在执行此次副本迁移策略后,目标副本的可靠性就会被降低。
二者其余目的节点选择策略一致,分别为(1)优先选择集群中负载较小的节点作为目的节点。(2)在执行迁移策略后,目的节点上的负载对资源的使用情况仍不超过阈值;(3)此次迁移操作不会破坏本次流程中已经执行完成的其它迁移策略。这一原则的提出是为了避免在负载均衡状态调整的流程中,同一负载在节点间反复迁移而始终无法使系统达到稳定状态。(4)在执行策略后实现系统的负载状态更加均衡。设执行迁移策略前,目标节点和目的节点的资源利用情况分别表示为Br(source),Br(destination),迁移副本的资源利用情况为Rr(i),则执行迁移策略前,两节点的资源利用情况差值Δprev可表示为公式(1)。
Δprev=Br(source)-Br(destination) (1)
执行迁移策略后,两节点的资源利用情况差值Δnext可表示为公式(2)。
Δnext=Br(source)-Br(destination)-2×Rr(f) (2)
二者关系在执行负载迁移前后应满足公式(3)。
next|<|Δprev| (3)

Claims (7)

1.一种分布式消息系统的负载均衡方法,其特征在于包括以下内容:
当源节点出现CPU或网络出站流量过高时,首先采取首领角色迁移策略,若首领角色迁移策略实施完成后,源节点的CPU使用率或网络出站流量情况仍然过高,则采取副本迁移策略;
当源节点出现磁盘或网络入站流量过高的场景时,直接实施副本迁移策略。
2.根据权利要求1所述的一种分布式消息系统的负载均衡方法,其特征在于:其中,所述的首领角色迁移策略指将源节点上的目标副本的首领角色转移至目标节点相同分区的追随者副本上,并将源节点上目标副本的首领角色降级为追随者角色。
3.根据权利要求2所述的一种分布式消息系统的负载均衡方法,其特征在于:所述源节点上目标副本的确定方法为:选择所有追随者副本都已经完全同步的首领角色副本,并且对资源占用大的副本作为目标副本。
4.根据权利要求2所述的一种分布式消息系统的负载均衡方法,其特征在于:所述目标节点的确定方法为:首先,选择具有与目标副本相同分区的追随者副本的节点作为候选节点,并且候选节点的追随者副本与目标副本处于完全同步的状态;然后,从候选节点中选择在首领角色迁移策略执行后,负载对资源的使用情况不超过阈值的节点;经前两个步骤之后,从剩下的候选节点中选择经过本次迁移操作不破坏本次流程中已经执行完成的其它迁移策略的节点;最后,选择在执行本次迁移操作系统负载状态更加均衡的节点作为目标节点,即执行迁移策略后,目标节点与源节点的资源利用情况的差值小于执行迁移策略前,目标节点与源节点的资源利用情况的差值。
5.根据权利要求1所述的一种分布式消息系统的负载均衡方法,其特征在于:所述的副本迁移策略具体为:将源节点上目标副本物理转移到目标节点上,所述目标节点不具有与目标副本相同分区的其它副本。
6.根据权利要求5所述的一种分布式消息系统的负载均衡方法,其特征在于:所述源节点上目标副本的确定方法为:选择所有追随者副本都已经完全同步的首领角色副本,并且对资源占用小的副本作为目标副本。
7.根据权利要求5所述的一种分布式消息系统的负载均衡方法,其特征在于:所述目标节点的确定方法为:首先,选择不具有与目标副本相同分区的节点作为候选节点;然后,从候选节点中选择在副本迁移策略执行后,负载对资源的使用情况不超过阈值的节点;经前两个步骤之后,从剩下的候选节点中选择经过本次迁移操作不破坏本次流程中已经执行完成的其它迁移策略的节点;最后,选择在执行本次迁移操作系统负载状态更加均衡的节点作为目标节点,即执行迁移策略后,目标节点与源节点的资源利用情况的差值小于执行迁移策略前,目标节点与源节点的资源利用情况的差值。
CN202010593867.8A 2020-06-24 2020-06-24 云计算中一种针对分布式消息系统的负载均衡方法 Withdrawn CN111767147A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010593867.8A CN111767147A (zh) 2020-06-24 2020-06-24 云计算中一种针对分布式消息系统的负载均衡方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010593867.8A CN111767147A (zh) 2020-06-24 2020-06-24 云计算中一种针对分布式消息系统的负载均衡方法

Publications (1)

Publication Number Publication Date
CN111767147A true CN111767147A (zh) 2020-10-13

Family

ID=72722087

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010593867.8A Withdrawn CN111767147A (zh) 2020-06-24 2020-06-24 云计算中一种针对分布式消息系统的负载均衡方法

Country Status (1)

Country Link
CN (1) CN111767147A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113568746A (zh) * 2021-07-27 2021-10-29 北京达佳互联信息技术有限公司 负载均衡方法、装置、电子设备及存储介质
CN113609071A (zh) * 2021-07-28 2021-11-05 北京金山云网络技术有限公司 一种用于消息队列的自动扩容方法及装置
CN115495250A (zh) * 2022-11-17 2022-12-20 北京集度科技有限公司 一种流量均衡方法、电子设备及计算机程序产品

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103139302A (zh) * 2013-02-07 2013-06-05 浙江大学 考虑负载均衡的实时副本调度方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103139302A (zh) * 2013-02-07 2013-06-05 浙江大学 考虑负载均衡的实时副本调度方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
高子妍 等: "面向云服务的分布式消息系统负载均衡策略", 《计算机科学》, pages 318 - 323 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113568746A (zh) * 2021-07-27 2021-10-29 北京达佳互联信息技术有限公司 负载均衡方法、装置、电子设备及存储介质
CN113568746B (zh) * 2021-07-27 2024-01-02 北京达佳互联信息技术有限公司 负载均衡方法、装置、电子设备及存储介质
CN113609071A (zh) * 2021-07-28 2021-11-05 北京金山云网络技术有限公司 一种用于消息队列的自动扩容方法及装置
CN115495250A (zh) * 2022-11-17 2022-12-20 北京集度科技有限公司 一种流量均衡方法、电子设备及计算机程序产品
CN115495250B (zh) * 2022-11-17 2023-03-10 北京集度科技有限公司 一种流量均衡方法、电子设备及计算机程序产品

Similar Documents

Publication Publication Date Title
CN111767147A (zh) 云计算中一种针对分布式消息系统的负载均衡方法
CA3000161C (en) Distributed stream-based database triggers
US10164894B2 (en) Buffered subscriber tables for maintaining a consistent network state
EP2954424B1 (en) Method, device, and system for peer-to-peer data replication and method, device, and system for master node switching
US20230087447A1 (en) Data migration method and device
CN107832138B (zh) 一种扁平化的高可用namenode模型的实现方法
CN113641511B (zh) 一种消息通信方法和装置
CN103763155A (zh) 分布式云存储系统多服务心跳监测方法
WO2021129477A1 (zh) 一种数据同步的方法及相关设备
US10826812B2 (en) Multiple quorum witness
WO2016065776A1 (zh) 一种紧耦合可扩展的大数据交互方法
US11321283B2 (en) Table and index communications channels
CN103885811B (zh) 虚拟机系统全系统在线迁移的方法、系统与装置
CN112148430A (zh) 一种虚拟网络功能的虚拟机在线安全迁移的方法
WO2014177085A1 (zh) 分布式多副本数据存储方法及装置
CN110807039A (zh) 一种云计算环境下数据一致性维护系统及方法
CN112487093A (zh) 一种分布式数据库的去中心化副本控制方法
CN108846064B (zh) 基于ceph的动态链式存储集群实现方法
US11314559B2 (en) Method for balanced scale out of resources in distributed and collaborative container platform environment
CN111400065B (zh) 一种分离全局zookeeper的pulsar消息异地多活方法及系统
WO2015196692A1 (zh) 一种云计算系统以及云计算系统的处理方法和装置
WO2023179786A1 (zh) 网络地址转换网关的扩容方法、设备及存储介质
CN111459416A (zh) 一种基于分布式存储的热迁移系统及其迁移方法
US10102228B1 (en) Table and index communications channels
CN111400098B (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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20201013