CN111949412A - 基于应用负载的主动负载均衡***及方法 - Google Patents

基于应用负载的主动负载均衡***及方法 Download PDF

Info

Publication number
CN111949412A
CN111949412A CN202010986324.2A CN202010986324A CN111949412A CN 111949412 A CN111949412 A CN 111949412A CN 202010986324 A CN202010986324 A CN 202010986324A CN 111949412 A CN111949412 A CN 111949412A
Authority
CN
China
Prior art keywords
application
module
host
applications
evicted
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
CN202010986324.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.)
Chengdu Ghostcloud Technology Co ltd
Original Assignee
Chengdu Ghostcloud 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 Chengdu Ghostcloud Technology Co ltd filed Critical Chengdu Ghostcloud Technology Co ltd
Priority to CN202010986324.2A priority Critical patent/CN111949412A/zh
Publication of CN111949412A publication Critical patent/CN111949412A/zh
Pending legal-status Critical Current

Links

Images

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
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于应用负载的主动负载均衡***及方法,属于集群中主机负载调整领域。本发明***包括:阈值设置模块、监控数据采集模块、存储模块、阈值检测模块、驱逐算法模块和应用驱逐模块;方法包括:设定指定主机上应用的资源阈值;部署监控数据采集模块,通过该模块定时采集主机本身以及主机上应用的资源使用率,并将其存储到存储模块;通过阈值检测模块从存储模块中获取监控数据,判断主机资源使用率是否达到阈值与抖动时间,若是,则调用驱逐算法模块,计算需要被驱逐的应用并通知驱逐算法模块;驱逐算法模块根据设定的驱逐算法,从主机上的应用中选取待驱逐的应用;应用驱逐模块根驱逐待驱逐的应用。

Description

基于应用负载的主动负载均衡***及方法
技术领域
本发明涉及集群中主机负载调整领域,尤其涉及一种基于应用负载的主动负载均衡***及方法。
背景技术
在云计算快速发展的今天,kubernetes已成为实际上的容器编排标准,而docker也已成为实际上的容器运行标准。通过使用kubernetes与docker,用户可以将自身的程序打包为容器,然后通过kubernetes方便的管理该容器的生命周期,并在应用负载增加或减少时,由kubernetes自动的增加或减少应用的副本,更有效的使用***资源。
负载平衡是一种计算机技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最优化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。但以kubernetes为主的,市面上的各容器编排平台,仅支持在副本创建时,根据设置的CPU,内存等资源限制,对其进行分配。而不能在主机资源占用过高时,主动驱逐主机上的应用副本,降低该主机的负载,使主机负载在集群内更为均衡。所以需要有一种当集群中主机负载过高时,可自行根据算法,驱逐主机上的不重要应用,使主机恢复正常的方法,以此更好的保证集群的健康以及重要应用的可用性。
发明内容
本发明的目的是提供一种能够主动调节集群中负载的基于应用负载的主动负载均衡***及方法。
本发明解决其技术问题,采用的技术方案是:基于应用负载的主动负载均衡***,包括:阈值设置模块、监控数据采集模块、存储模块、阈值检测模块、驱逐算法模块和应用驱逐模块;
所述阈值设置模块,用于设置主机上应用的资源阈值;
所述监控数据采集模块,用于采集主机与主机上应用的监控数据,并传输至存储模块;
所述存储模块,用于存储接收到的监控数据,并供阈值检测模块与驱逐算法模块进行查看;
所述阈值检测模块,用于根据设置的资源阈值以及抖动时间,判断主机上的资源使用是否已达到设置的阈值并达到设置的抖动时间,若是,则通知驱逐算法模块,否则不进行处理;
所述驱逐算法模块,用于当接收到所述通知时,根据设定的驱逐算法,从主机上的应用中选取待驱逐的应用;
所述应用驱逐模块,用于根据驱逐算法的输出结果,与云管平台集群进行交互,驱逐所述待驱逐的应用。
进一步的是,所述监控数据包括CPU使用率、内存使用率和磁盘使用率。
进一步的是,在驱逐算法模块从主机上的应用中选取待驱逐的应用之前,提前设定好应用的优先级,在选取待驱逐的应用时,根据***资源使用率从低到高以及优先级从低到高的顺序选取出待驱逐的应用。
本发明还提出一种基于应用负载的主动负载均衡方法,应用于所述的基于应用负载的主动负载均衡***,包括如下步骤:
步骤1、设定指定主机上应用的资源阈值,当同时设置多个资源阈值时,则任一资源达到阈值后,都会触发对主机上对应应用的驱逐;
步骤2、在主机上部署监控数据采集模块,通过该模块定时采集主机本身以及主机上应用的资源使用率,并将其存储到存储模块;
步骤3、通过阈值检测模块从存储模块中获取监控数据,判断主机资源使用率是否达到阈值与抖动时间,若是,则调用驱逐算法模块,计算需要被驱逐的应用并通知驱逐算法模块;
步骤4、当驱逐算法模块接收到所述通知时,根据设定的驱逐算法,从主机上的应用中选取待驱逐的应用;
步骤5、应用驱逐模块根据选取出的待驱逐的应用,与云管平台集群进行交互,驱逐所述待驱逐的应用。
进一步的是,在步骤2之后且在步骤3之前,通过平台部署应用,设置应用的优先级,等待驱逐算法判断是否驱逐该应用时,根据***资源使用率从低到高以及优先级从低到高的顺序选取出待驱逐的应用。
进一步的是,步骤3中,所述抖动时间表示:若从第一次检测到主机的指定资源使用率超过了阈值开始,在整个抖动时间段内,所有该主机的监控数据都表示对指定资源的使用率超过了阈值,则确认该主机需要进行应用驱逐。
进一步的是,步骤4具体包括如下步骤:
步骤401、判断触发了驱逐算法的调用的资源;
步骤402、将主机上的应用按该资源的使用率,进行降序排序,组成列表,该列表中按重要程度从低到高依次排列;
步骤403、获取到所述列表后,驱逐算法模块将通过应用的优先级,对该列表进行再排序,使低优先级的在前,高优先级的在后,同等优先级的按照获取到的有序列表的顺序进行排序;
步骤404、根据该主机当前负载,判断按有序列表的顺序,确定当主机负载低于阈值时需要驱逐的应用,最终获取需要驱逐的应用的列表。
进一步的是,步骤5具体是指:应用驱逐模块收到驱逐算法模块计算出的需驱逐应用列表,将其从该主机上驱逐。
本发明的有益效果是,通过上述基于应用负载的主动负载均衡***及方法,在主机资源占用较高时,根据指定驱逐算法自动判定,主动驱逐某些应用,降低主机负载,使重要应用能够更为稳定的运行。
附图说明
图1为本发明实施例2中基于应用负载的主动负载均衡方法的流程图;
图2为本发明实施例2中***处理流程图。
具体实施方式
下面结合附图及实施例,详细描述本发明的技术方案。
实施例1
本实施例提出一种基于应用负载的主动负载均衡***,该***包括:阈值设置模块、监控数据采集模块、存储模块、阈值检测模块、驱逐算法模块和应用驱逐模块;其中:阈值设置模块,用于设置主机上应用的资源阈值;监控数据采集模块,用于采集主机与主机上应用的监控数据,并传输至存储模块;存储模块,用于存储接收到的监控数据,并供阈值检测模块与驱逐算法模块进行查看;阈值检测模块,用于根据设置的资源阈值以及抖动时间,判断主机上的资源使用是否已达到设置的阈值并达到设置的抖动时间,若是,则通知驱逐算法模块,否则不进行处理;驱逐算法模块,用于当接收到所述通知时,根据设定的驱逐算法,从主机上的应用中选取待驱逐的应用;应用驱逐模块,用于根据驱逐算法的输出结果,与云管平台集群进行交互,驱逐所述待驱逐的应用。
上述***中,根据主机实际使用情况,监控数据一般可以包括CPU使用率、内存使用率和磁盘使用率等。并且,在驱逐算法模块从主机上的应用中选取待驱逐的应用之前,可以提前设定好应用的优先级,在选取待驱逐的应用时,根据***资源使用率从低到高以及优先级从低到高的顺序选取出待驱逐的应用。
这里,通过本实施例提出的***,即可在主机由于某些原因导致资源压力较大时,主动驱逐由驱逐算法判定最不重要的一些应用,降低主机负载,使集群中各主机的负载更为均衡,并使更重要应用能够更稳定地运行。
实施例2
在实施例1的上述***的基础上,本实施例提出一种基于应用负载的主动负载均衡方法,其流程图见图1,***处理流程图见图2,该方法包括如下步骤:
S1、用户设定指定主机上应用的资源阈值,当同时设置多个资源阈值时,则任一资源达到阈值后,都会触发对主机上对应应用的驱逐;若不设置,则表示在该主机上,不启用主动负载功能。
S2、在主机上部署监控数据采集模块,通过该模块定时采集主机本身以及主机上应用的资源使用率,并将其存储到存储模块,使阈值检测模块与驱逐算法模块可以从中获取到监控数据。
S3、用户可以通过平台部署应用,设置应用的优先级,等待驱逐算法判断是否驱逐该应用时,根据***资源使用率从低到高以及优先级从低到高的顺序选取出待驱逐的应用;这里,抖动时间表示:若从第一次检测到主机的指定资源使用率超过了阈值开始,在整个抖动时间段内,所有该主机的监控数据都表示对指定资源的使用率超过了阈值,则确认该主机需要进行应用驱逐。这里,优先级高的应用将会被认为更重要,也将更不容易被驱逐。
S4、通过阈值检测模块从存储模块中获取监控数据,判断主机资源使用率是否达到阈值与抖动时间,若是,则调用驱逐算法模块,计算需要被驱逐的应用并通知驱逐算法模块;
这里,以***内置的驱逐算法为例,其具体计算过程如下:
S401、判断触发了驱逐算法的调用的资源;
S402、将主机上的应用按该资源的使用率,进行降序排序,组成列表,该列表中按重要程度从低到高依次排列,该列表中越靠前的元素越不重要;
S403、获取到所述列表后,驱逐算法模块将通过应用的优先级,对该列表进行再排序,使低优先级的在前,高优先级的在后,同等优先级的按照获取到的有序列表的顺序进行排序;该列表表示的含义为,若本次主动驱逐是由某资源触发的,则占用某资源越多的应用,其越应该被驱逐,即越在列表前的应用越应该被驱逐,以此确保用户设置的优先级是最主要的影响因素。
S404、根据该主机当前负载,判断按有序列表的顺序,确定当主机负载低于阈值时需要驱逐的应用,最终获取需要驱逐的应用的列表。
S5、当驱逐算法模块接收到所述通知时,根据设定的驱逐算法,从主机上的应用中选取待驱逐的应用。
S6、应用驱逐模块根据选取出的待驱逐的应用,与云管平台集群进行交互,驱逐所述待驱逐的应用;该步骤具体是指:应用驱逐模块收到驱逐算法模块计算出的需驱逐应用列表,将其从该主机上驱逐,以此降低该主机的负载,使集群内各主机的负载更为均衡。

Claims (8)

1.基于应用负载的主动负载均衡***,其特征在于,包括:阈值设置模块、监控数据采集模块、存储模块、阈值检测模块、驱逐算法模块和应用驱逐模块;
所述阈值设置模块,用于设置主机上应用的资源阈值;
所述监控数据采集模块,用于采集主机与主机上应用的监控数据,并传输至存储模块;
所述存储模块,用于存储接收到的监控数据,并供阈值检测模块与驱逐算法模块进行查看;
所述阈值检测模块,用于根据设置的资源阈值以及抖动时间,判断主机上的资源使用是否已达到设置的阈值并达到设置的抖动时间,若是,则通知驱逐算法模块,否则不进行处理;
所述驱逐算法模块,用于当接收到所述通知时,根据设定的驱逐算法,从主机上的应用中选取待驱逐的应用;
所述应用驱逐模块,用于根据驱逐算法的输出结果,与云管平台集群进行交互,驱逐所述待驱逐的应用。
2.根据权利要求1所述的基于应用负载的主动负载均衡***,其特征在于,所述监控数据包括CPU使用率、内存使用率和磁盘使用率。
3.根据权利要求1或2所述的基于应用负载的主动负载均衡***,其特征在于,在驱逐算法模块从主机上的应用中选取待驱逐的应用之前,提前设定好应用的优先级,在选取待驱逐的应用时,根据***资源使用率从低到高以及优先级从低到高的顺序选取出待驱逐的应用。
4.基于应用负载的主动负载均衡方法,应用于权利要求1-3任意一项所述的基于应用负载的主动负载均衡***,其特征在于,包括如下步骤:
步骤1、设定指定主机上应用的资源阈值,当同时设置多个资源阈值时,则任一资源达到阈值后,都会触发对主机上对应应用的驱逐;
步骤2、在主机上部署监控数据采集模块,通过该模块定时采集主机本身以及主机上应用的资源使用率,并将其存储到存储模块;
步骤3、通过阈值检测模块从存储模块中获取监控数据,判断主机资源使用率是否达到阈值与抖动时间,若是,则调用驱逐算法模块,计算需要被驱逐的应用并通知驱逐算法模块;
步骤4、当驱逐算法模块接收到所述通知时,根据设定的驱逐算法,从主机上的应用中选取待驱逐的应用;
步骤5、应用驱逐模块根据选取出的待驱逐的应用,与云管平台集群进行交互,驱逐所述待驱逐的应用。
5.根据权利要求4所述的基于应用负载的主动负载均衡方法,其特征在于,在步骤2之后且在步骤3之前,通过平台部署应用,设置应用的优先级,等待驱逐算法判断是否驱逐该应用时,根据***资源使用率从低到高以及优先级从低到高的顺序选取出待驱逐的应用。
6.根据权利要求4所述的基于应用负载的主动负载均衡方法,其特征在于,步骤3中,所述抖动时间表示:若从第一次检测到主机的指定资源使用率超过了阈值开始,在整个抖动时间段内,所有该主机的监控数据都表示对指定资源的使用率超过了阈值,则确认该主机需要进行应用驱逐。
7.根据权利要求4所述的基于应用负载的主动负载均衡方法,其特征在于,步骤4具体包括如下步骤:
步骤401、判断触发了驱逐算法的调用的资源;
步骤402、将主机上的应用按该资源的使用率,进行降序排序,组成列表,该列表中按重要程度从低到高依次排列;
步骤403、获取到所述列表后,驱逐算法模块将通过应用的优先级,对该列表进行再排序,使低优先级的在前,高优先级的在后,同等优先级的按照获取到的有序列表的顺序进行排序;
步骤404、根据该主机当前负载,判断按有序列表的顺序,确定当主机负载低于阈值时需要驱逐的应用,最终获取需要驱逐的应用的列表。
8.根据权利要求4或7所述的基于应用负载的主动负载均衡方法,其特征在于,步骤5具体是指:应用驱逐模块收到驱逐算法模块计算出的需驱逐应用列表,将其从该主机上驱逐。
CN202010986324.2A 2020-09-18 2020-09-18 基于应用负载的主动负载均衡***及方法 Pending CN111949412A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010986324.2A CN111949412A (zh) 2020-09-18 2020-09-18 基于应用负载的主动负载均衡***及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010986324.2A CN111949412A (zh) 2020-09-18 2020-09-18 基于应用负载的主动负载均衡***及方法

Publications (1)

Publication Number Publication Date
CN111949412A true CN111949412A (zh) 2020-11-17

Family

ID=73356352

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010986324.2A Pending CN111949412A (zh) 2020-09-18 2020-09-18 基于应用负载的主动负载均衡***及方法

Country Status (1)

Country Link
CN (1) CN111949412A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104954478A (zh) * 2015-06-23 2015-09-30 普元信息技术股份有限公司 云计算平台中实现服务器自动纵向伸缩的***及方法
CN106790726A (zh) * 2017-03-30 2017-05-31 电子科技大学 一种基于Docker云平台的优先级队列动态反馈负载均衡资源调度方法
CN107122235A (zh) * 2017-04-19 2017-09-01 中国舰船研究设计中心 基于应用优先级的公共基础设施资源调度方法
US10108517B1 (en) * 2011-06-27 2018-10-23 EMC IP Holding Company LLC Techniques for data storage systems using virtualized environments
CN108874508A (zh) * 2018-06-27 2018-11-23 郑州云海信息技术有限公司 一种云计算虚拟服务器***负载均衡调度方法
CN110134495A (zh) * 2019-05-21 2019-08-16 山东大学 一种容器跨主机在线迁移方法、存储介质及终端设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10108517B1 (en) * 2011-06-27 2018-10-23 EMC IP Holding Company LLC Techniques for data storage systems using virtualized environments
CN104954478A (zh) * 2015-06-23 2015-09-30 普元信息技术股份有限公司 云计算平台中实现服务器自动纵向伸缩的***及方法
CN106790726A (zh) * 2017-03-30 2017-05-31 电子科技大学 一种基于Docker云平台的优先级队列动态反馈负载均衡资源调度方法
CN107122235A (zh) * 2017-04-19 2017-09-01 中国舰船研究设计中心 基于应用优先级的公共基础设施资源调度方法
CN108874508A (zh) * 2018-06-27 2018-11-23 郑州云海信息技术有限公司 一种云计算虚拟服务器***负载均衡调度方法
CN110134495A (zh) * 2019-05-21 2019-08-16 山东大学 一种容器跨主机在线迁移方法、存储介质及终端设备

Similar Documents

Publication Publication Date Title
EP3335120B1 (en) Method and system for resource scheduling
CN109586952B (zh) 服务器扩容方法、装置
CN111818159B (zh) 数据处理节点的管理方法、装置、设备及存储介质
US8510747B2 (en) Method and device for implementing load balance of data center resources
US20150324232A1 (en) Resource management method and apparatus for virtual machine system, and virtual machine system
CN111966453B (zh) 一种负载均衡方法、***、设备及存储介质
CN110795203B (zh) 资源调度方法、装置、***和计算设备
US20140282540A1 (en) Performant host selection for virtualization centers
CN105656810B (zh) 一种更新应用程序的方法及装置
CN103502944A (zh) 虚拟机内存调整方法和设备
CN110933178A (zh) 调整集群***内的节点配置的方法及服务器
CN116149846A (zh) 一种应用性能优化方法、装置、电子设备及存储介质
CN113672345A (zh) 一种基于io预测的云虚拟化引擎分布式资源调度方法
CN107203256B (zh) 一种网络功能虚拟化场景下的节能分配方法与装置
CN114253665A (zh) 一种流量调度方法及流量调度装置
CN113760549A (zh) 一种pod部署方法及装置
EP4189542A1 (en) Sharing of compute resources between the virtualized radio access network (vran) and other workloads
CN111949412A (zh) 基于应用负载的主动负载均衡***及方法
CN109445931A (zh) 一种大数据资源调度***及方法
CN104899072B (zh) 基于虚拟化平台的细粒度资源调度***及方法
CN117032977A (zh) 混部应用资源分配方法、装置、计算机设备及存储介质
CN117369941A (zh) Pod调度方法和***
CN103955397A (zh) 一种基于微架构感知的虚拟机调度多策略选择方法
CN113986458A (zh) 容器集合调度方法、装置、设备及存储介质
CN114443302A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20201117

RJ01 Rejection of invention patent application after publication