CN112214321A - 一种新增微服务的节点选择方法、装置及微服务管理平台 - Google Patents

一种新增微服务的节点选择方法、装置及微服务管理平台 Download PDF

Info

Publication number
CN112214321A
CN112214321A CN202011077233.3A CN202011077233A CN112214321A CN 112214321 A CN112214321 A CN 112214321A CN 202011077233 A CN202011077233 A CN 202011077233A CN 112214321 A CN112214321 A CN 112214321A
Authority
CN
China
Prior art keywords
node
micro
container
resource
management platform
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.)
Granted
Application number
CN202011077233.3A
Other languages
English (en)
Other versions
CN112214321B (zh
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.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group 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 China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN202011077233.3A priority Critical patent/CN112214321B/zh
Publication of CN112214321A publication Critical patent/CN112214321A/zh
Application granted granted Critical
Publication of CN112214321B publication Critical patent/CN112214321B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/5044Allocation 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 hardware capabilities
    • 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/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种新增微服务的节点选择方法、装置及微服务管理平台,所述方法包括:获取新增微服务的待部署容器中单个容器的需求主资源的影响因子;根据所述影响因子获取所述微服务管理平台中符合部署条件的所有节点中的最佳节点,并在所述最佳节点上部署所述新增微服务的待部署容器中的任意一台容器;依次对新增微服务的待部署容器中的剩余容器进行部署,以将每台容器部署在当前最佳节点上。该方法、装置及及微服务管理平台能够解决现有的新增微服务的节点选择方法由于采用轮询算法而导致节点选择不合理,从而影响整个微服务的性能的问题。

Description

一种新增微服务的节点选择方法、装置及微服务管理平台
技术领域
本发明涉及信息技术领域,尤其涉及一种新增微服务的节点选择方法、装置及微服务管理平台。
背景技术
微服务被认为是云计算未来的方向,其主要思想是将应用分解成更小的一项项服务,每项服务由多个容器组成,这种架构要求对每项服务部署节点的选择更加精准才能更好的实现其优势。
然而,现有的新增微服务的节点选择方法大多为系统默认的轮询算法,即各个节点轮流部署一个容器,例如一项微服务由6个容器提供,目前微服务管理平台有7个节点,则按照预设的顺序,前6个节点分别部署一个容器。由于该轮询算法未考虑不同微服务所需要的资源需求情况、容器运行后的实际资源情况和各节点的剩余资源情况,容易产生某些节点已经满负荷运行而某些节点还有很多资源未分配,导致节点选择不合理,从而影响整个微服务的性能的问题。
发明内容
本发明所要解决的技术问题是针对现有技术的上述不足,提供一种新增微服务的节点选择方法、装置及微服务管理平台,用以解决现有的新增微服务的节点选择方法由于采用轮询算法而导致节点选择不合理,从而影响整个微服务的性能的问题。
第一方面,本发明实施例提供一种新增微服务的节点选择方法,应用于微服务管理平台,包括:
获取新增微服务的待部署容器中单个容器的需求主资源的影响因子;
根据所述影响因子获取所述微服务管理平台中符合部署条件的所有节点中的最佳节点,并在所述最佳节点上部署所述新增微服务的待部署容器中的任意一台容器;
依次对新增微服务的待部署容器中的剩余容器进行部署,以将每台容器部署在当前最佳节点上。
优选地,获取新增微服务的待部署容器中单个容器的需求主资源的影响因子的步骤之前,所述方法还包括:
获取所述新增微服务的配置文件;
从所述配置文件中获取待部署容器的容器个数、单个容器的需求主资源以及每个需求主资源所需的资源大小。
优选地,所述需求主资源包括内存和CPU;
获取新增微服务的待部署容器中单个容器的需求主资源的影响因子,包括:
获取内存影响因子,其中,所述内存影响因子为所述单个容器所需内存大小与微服务管理平台所有运行容器的内存平均使用量的比值;
获取CPU影响因子,其中,所述CPU影响因子为所述单个容器所需CPU颗数与所述微服务管理平台所有运行容器的CPU平均使用颗数的比值;
对所述内存影响因子和CPU影响因子分别进行归一化处理。
优选地,所述根据所述影响因子获取所述微服务管理平台中符合部署条件的所有节点中的最佳节点的步骤之前,所述方法还包括:
从所述配置文件中获取所述待部署容器中单个容器的基本需求;
所述基本需求包括所需端口、所述每个需求主资源所需的资源大小和节点选择属性;
筛选所述微服务管理平台所有节点中满足所述基本需求的节点作为符合部署条件的节点;
所述根据所述影响因子获取所述微服务管理平台中符合部署条件的所有节点中的最佳节点,包括:
根据所述影响因子对所述微服务管理平台中符合部署条件的所有节点进行评分;
将评分最高的节点作为最佳节点。
优选地,所述根据所述影响因子对所述微服务管理平台中符合部署条件的所有节点进行评分,包括:
获取所述符合部署条件的所有节点中各节点的CPU可用资源余量和内存可用资源余量;
根据如下表达式计算待选节点中各节点的当前得分;
Figure BDA0002717084590000031
其中,Si表示第i个符合部署条件的节点的当前得分,Ci表示第i个符合部署条件的节点的CPU可用资源余量,C表示部署单个容器所需CPU颗数,(Ci-C)表示第i个符合部署条件的节点部署一个容器后的剩余CPU资源余量,
Figure BDA0002717084590000032
表示第i个符合部署条件的节点部署一个容器后的CPU空闲率,Mi表示第i个符合部署条件的节点的内存可用资源余量,M表示部署单个容器所需内存大小,(Mi-M)表示第i个符合部署条件的节点部署一个容器后的剩余内存资源,
Figure BDA0002717084590000033
表示第i个符合部署条件的节点部署一个容器后的内存空闲率,α为归一化处理后的CPU影响因子,β为归一化处理后的内存影响因子,所述α和β的表达式分别为:
Figure BDA0002717084590000034
其中,C表示部署单个容器所需CPU颗数,CS表示微服务管理平台所有运行容器的平均CPU数,M表示部署单个容器所需内存大小,MS表示微服务管理平台所有运行容器的内存平均使用量。
优选地,所述依次对新增微服务的待部署容器中的剩余容器进行部署,以将每台容器部署在当前最佳节点上,包括:
根据部署的前一台所述容器的实际运行的各项资源使用数据获取各项资源的实际影响因子;
根据所述实际影响因子对所述微服务管理平台中符合部署条件的所有节点再次进行评分,并将评分最高的节点作为当前最佳节点部署下一台容器;
按照上述步骤部署下一台容器,直到所有容器部署完毕。
优选地,所述实际运行的各项资源使用数据包括以下至少之一:内存大小、CPU占用颗数、硬盘大小、带宽大小、虚拟网卡数和I/0速率,所述各项资源的实际影响因子为所述各项资源使用数据与所述微服务管理平台所有运行容器的每个各项资源平均使用量的比值,所述根据部署的前一台所述容器的实际运行的各项资源使用数据获取各项资源的实际影响因子的步骤之后,所述方法还包括:
对所述各项资源的实际影响因子分别进行归一化处理;
获取所述归一化处理后各项资源的实际影响因子中大于预设阈值的实际影响因子;
所述根据所述实际影响因子对所述微服务管理平台中符合部署条件的所有节点再次进行评分,包括:
根据所述大于预设阈值的实际资源影响因子对所述微服务管理平台中符合部署条件的所有节点再次进行评分。
优选地,所述根据所述大于预设阈值的实际资源影响因子对所述微服务管理平台中符合部署条件的所有节点再次进行评分,包括:
根据如下表达式计算所述微服务管理平台中符合部署条件的各节点的当前得分;
Figure BDA0002717084590000041
其中,Si′表示第i个节点的当前得分,Xij表示第i个节点的第j个大于预设阈值的实际资源的可用资源余量,Xj表示部署单个容器所需的第j个大于预设阈值的实际资源的使用量;Yj′表示归一化处理后的第j个大于预设阈值的实际资源的影响因子。
第二方面,本发明实施例提供一种新增微服务的节点选择装置,包括:
获取模块,用于获取新增微服务的待部署容器中单个容器的需求主资源的影响因子;
第一部署模块,与所述获取模块连接,用于根据所述影响因子获取所述微服务管理平台中符合部署条件的所有节点中的最佳节点,并在所述最佳节点上部署所述新增微服务的待部署容器中的任意一台容器;
第二部署模块,用于依次对新增微服务的待部署容器中的剩余容器进行部署,以将每台容器部署在当前最佳节点上。
第三方面,本发明实施例提供一种微服务管理平台,所述微服务管理平台包括第二方面所述的节点选择装置。
本发明实施例提供的新增微服务的节点选择方法、装置及微服务管理平台,通过获取新增微服务的待部署容器中单个容器的需求主资源的影响因子,以及根据影响因子获取微服务管理平台中符合部署条件的所有节点中的最佳节点,并在最佳节点上部署新增微服务的待部署容器中的任意一台容器,从而能够实现第一个容器的最佳部署,同时,在部署第一台容器后,再依次将剩余容器部署在当前最佳节点上,以实现剩余每一个容器的最佳部署。本发明不仅能够节约资源成本,而且能够更好的发挥微服务的优势,提高整个微服务的性能,解决了现有的新增微服务的节点选择方法由于采用轮询算法而导致节点选择不合理,从而影响整个微服务的性能的问题。
附图说明
图1:为本发明实施例1的一种新增微服务的节点选择方法的流程图;
图2:为本发明实施例2的一种新增微服务的节点选择装置的结构图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
实施例1:
本实施例提供一种新增微服务的节点选择方法,应用于微服务管理平台,如图1所示,该方法包括:
步骤S102,获取新增微服务的待部署容器中单个容器的需求主资源的影响因子。
在本实施例中,每个待部署容器部署需要的需求主资源相同且所需大小一致,需求主资源包括内存、CPU、硬盘或带宽等等。影响因子可以用于衡量单个资源需求相对于整个微服务管理平台所有运行容器的相应资源需求平均使用量的比重,或用于衡量单个资源需求在整个资源需求中所占的比重。
可选地,获取新增微服务的待部署容器中单个容器的需求主资源的影响因子的步骤之前,方法还可以包括:
获取新增微服务的配置文件;
从配置文件中获取待部署容器的容器个数、单个容器的需求主资源以及每个需求主资源所需的资源大小。
在本实施例中,当有新的微服务需要上线时,微服务管理平台首先获取待创建微服务的配置文件,即yaml文件,该yaml文件包括了待部署容器的容器个数,以及单个容器的需求主资源,例如按照预测,每台容器需要内存1G、CPU资源0.5颗等主资源需求,此外,yaml文件还包括了与创建微服务相关的镜像,启动命令,启动目录,外挂存储,环境变量等。
可选地,需求主资源包括内存和CPU,获取新增微服务的待部署容器中单个容器的需求主资源的影响因子,可以包括:
获取内存影响因子,其中,内存影响因子为单个容器所需内存大小与微服务管理平台所有运行容器的内存平均使用量的比值;
获取CPU影响因子,其中,CPU影响因子为单个容器所需CPU颗数与微服务管理平台所有运行容器的CPU平均使用颗数的比值;
对内存影响因子和CPU影响因子分别进行归一化处理。
在本实施例中,通过将需求主资源的资源需求同整个平台所有运行容器平均资源实际使用量(统计所有运行容器的资源使用量除以容器数量)进行对比,计算该容器的需求主资源的影响因子,比如计算CPU影响因子为
Figure BDA0002717084590000071
其中C为创建单个容器所需CPU颗数,CS为整个平台所有运行容器的平均CPU数。比如,计算内存影响因子为
Figure BDA0002717084590000072
其中M为创建单个容器所需内存大小,MS为整个平台所有运行容器的平均占用内存大小。
在本实施例中,为了计算方便对内存影响因子和CPU影响因子进行归一化处理,归一化处理表达式如下:
Figure BDA0002717084590000073
其中,α为归一化处理后的CPU影响因子,β为归一化处理后的内存影响因子。
步骤S104,根据影响因子获取微服务管理平台中符合部署条件的所有节点中的最佳节点,并在最佳节点上部署新增微服务的待部署容器中的任意一台容器。
可选地,根据影响因子获取微服务管理平台中符合部署条件的所有节点中的最佳节点的步骤之前,方法还可以包括:
从配置文件中获取待部署容器中单个容器的基本需求;
基本需求包括所需端口、每个需求主资源所需的资源大小和节点选择属性;
筛选微服务管理平台所有节点中满足基本需求的节点作为符合部署条件的节点。
在本实施例中,为了尽快找到容器的最佳部署节点,可以对节点进行初步筛选,筛选出符合基本需求的节点,基本需求包括:容器所需端口是否被占用、每个需求主资源所需的资源大小、容器是否有指定的节点选择属性,比如节点名称:node名、硬盘类型:disktype或资源模板:flavor等节点的属性值。
根据影响因子获取微服务管理平台中符合部署条件的所有节点中的最佳节点,可以包括:
根据影响因子对微服务管理平台中符合部署条件的所有节点进行评分;
将评分最高的节点作为最佳节点。
可选地,根据影响因子对微服务管理平台中符合部署条件的所有节点进行评分,可以包括:
获取符合部署条件的所有节点中各节点的CPU可用资源余量和内存可用资源余量;
根据如下表达式计算待选节点中各节点的当前得分;
Figure BDA0002717084590000081
其中,Si表示第i个符合部署条件的节点的当前得分,Ci表示第i个符合部署条件的节点的CPU可用资源余量,C表示部署单个容器所需CPU颗数,(Ci-C)表示第i个符合部署条件的节点部署一个容器后的剩余CPU资源余量,
Figure BDA0002717084590000082
表示第i个符合部署条件的节点部署一个容器后的CPU空闲率,Mi表示第i个符合部署条件的节点的内存可用资源余量,M表示部署单个容器所需内存大小,(Mi-M)表示第i个符合部署条件的节点部署一个容器后的剩余内存资源,
Figure BDA0002717084590000083
表示第i个符合部署条件的节点部署一个容器后的内存空闲率,α为归一化处理后的CPU影响因子,β为归一化处理后的内存影响因子,α和β的表达式分别为:
Figure BDA0002717084590000084
其中,C表示部署单个容器所需CPU颗数,CS表示微服务管理平台所有运行容器的平均CPU数,M表示部署单个容器所需内存大小,MS表示微服务管理平台所有运行容器的内存平均使用量。
步骤S106,依次对新增微服务的待部署容器中的剩余容器进行部署,以将每台容器部署在当前最佳节点上。
可选地,依次对新增微服务的待部署容器中的剩余容器进行部署,以将每台容器部署在当前最佳节点上,可以包括:
根据部署的前一台容器的实际运行的各项资源使用数据获取各项资源的实际影响因子;
根据实际影响因子对微服务管理平台中符合部署条件的所有节点再次进行评分,并将评分最高的节点作为当前最佳节点部署下一台容器;
按照上述步骤部署下一台容器,直到所有容器部署完毕。
在本实施例中,微服务管理平台通过初筛筛选出的符合部署条件的节点的CPU和内存的可用资源余量Ci和Mi,并结合CPU和内存的影响因子计算各节点的得分Si,最终选择分值最高的节点作为第一个容器的部署节点。当第一个容器完成部署并成功运行后检测第一个容器实际运行的各项资源使用数据,其中,实际运行的各项资源使用数据可以包括内存大小、CPU占用颗数、硬盘大小、带宽大小、虚拟网卡数和I/0速率等等,各项资源的实际影响因子为各项资源使用数据与微服务管理平台所有运行容器的每个各项资源平均使用量的比值。
在本实施例中,综合考虑部署单个容器的资源需求和各节点的可用资源余量,根据每个需求主资源的影响因子计算待选节点中各节点的当前得分,能够将各节点的可用资源余量进行量化,通过选择待选节点中当前得分最高的节点部署第一个容器,从而实现在可用资源余量最多的节点上部署第一台容器,同时,基于第一个容器的实际资源使用量,计算实际资源使用量中各项资源的实际影响因子,并根据各项资源的实际影响因子计算待选节点中各节点的当前得分,同时选择当前得分最高的节点部署下一个容器,从而能够实现下一个容器的最佳部署,不仅有效节约了资源成本,而且能够更好的发挥微服务的优势,提高整个微服务的性能。
可选地,根据部署的前一台容器的实际运行的各项资源使用数据获取各项资源的实际影响因子的步骤之后,方法还可以包括:
对各项资源的实际影响因子分别进行归一化处理;
获取归一化处理后各项资源的实际影响因子中大于预设阈值的实际影响因子;
根据实际影响因子对微服务管理平台中符合部署条件的所有节点再次进行评分,可以包括:
根据大于预设阈值的实际资源影响因子对微服务管理平台中符合部署条件的所有节点再次进行评分。
在本实施例中,各项资源的实际影响因子的计算与上述每个需求主资源的影响因子的计算相同,并进行相同的归一化处理,归一化处理后的各项资源的实际影响因子的和为1,比如,实际运行的各项资源包括CPU、内存和硬盘,则实际CPU影响因子α′,实际内存影响因子β′,实际硬盘影响因子γ′归一化处理后的结果如下:
Figure BDA0002717084590000101
在本实施例中,为了减少计算量,设定预设阈值A,比如设为0.1,当实际资源的影响因子值大于预设阈值A时,认为该项资源对节点的选择有一定的影响力,可以作为下一步节点选择的参考数据项,否则表示业务对该项资源需求很低,大部分节点都可以满足这项资源需求,经过筛选得到符合条件的各项资源项及所对应的实际资源影响因子值列表,比如{α′,β′,γ′,…}。
可选地,根据大于预设阈值的实际资源影响因子对微服务管理平台中符合部署条件的所有节点再次进行评分,可以包括:
根据如下表达式计算微服务管理平台中符合部署条件的各节点的当前得分;
Figure BDA0002717084590000102
其中,Si′表示第i个节点的当前得分,Xij表示第i个节点的第j个大于预设阈值的实际资源的可用资源余量,Xj表示部署单个容器所需的第j个大于预设阈值的实际资源的使用量;Yj′表示归一化处理后的第j个大于预设阈值的实际资源的影响因子。
在本实施例中,根据筛选出来的各项资源项及所对应的实际资源影响因子,重新计算各符合部署条件的节点的当前得分,根据当前得分选择第二个最匹配的节点,比如,若大于预设阈值的资源为CPU、内存和硬盘,即j为3,则各节点的当前得分计算如下:
Figure BDA0002717084590000111
其中,(Hi-H)表示第i台节点部署一个容器后的剩余的硬盘资源,γ′表示归一化处理后的实际硬盘影响因子,如果存在其他资源项符合条件也可以在公式后继续增加。
在本实施例中,选择第二个最佳节点部署一个容器后,以此类推,按照新增微服务所需的容器个数据迭代计算,得到最终的部署方案。由于在第二个最佳节点部署第二个容器后,第三个容器部署所计算出的当前得分与第二个容器部署所计算出的当前得分仅仅是部署了第二个容器后的第二个最佳节点的当前得分不同,其他未部署的节点的当前得分和第二个容器部署所计算出的当前得分相同,因此,迭代计算的计算量小,同时,若第二个最佳节点在第三个容器部署所计算出的当前得分中仍然最高,可以再部署第三个容器,解决了现有的新增微服务的节点选择方法单纯为了让各节点均衡的承担任务,没有考虑不同微服务所需要的资源情况、以及容器运行后的实际资源情况和各节点的剩余资源情况,容易产生某些节点已经满负荷运行而某些节点还有很多资源未分配的问题,从而能够更好的发挥微服务的优势。
本实施例提供的新增微服务的节点选择方法,通过获取新增微服务的待部署容器中单个容器的需求主资源的影响因子,以及根据影响因子获取微服务管理平台中符合部署条件的所有节点中的最佳节点,并在最佳节点上部署新增微服务的待部署容器中的任意一台容器,从而能够实现第一个容器的最佳部署,同时,在部署第一台容器后,再依次将剩余容器部署在当前最佳节点上,以实现剩余每一个容器的最佳部署。本发明不仅能够节约资源成本,而且能够更好的发挥微服务的优势,提高整个微服务的性能,解决了现有的新增微服务的节点选择方法由于采用轮询算法而导致节点选择不合理,从而影响整个微服务的性能的问题。
实施例2:
如图2所示,本实施例提供一种节点选择装置,包括:
获取模块202,用于获取新增微服务的待部署容器中单个容器的需求主资源的影响因子;
第一部署模块204,与获取模块202连接,用于根据影响因子获取微服务管理平台中符合部署条件的所有节点中的最佳节点,并在最佳节点上部署新增微服务的待部署容器中的任意一台容器;
第二部署模块206,用于依次对新增微服务的待部署容器中的剩余容器进行部署,以将每台容器部署在当前最佳节点上。
可选地,装置还可以包括:
配置文件获取模块,用于获取新增微服务的配置文件;
需求主资源获取模块,用于从配置文件中获取待部署容器的容器个数、单个容器的需求主资源以及每个需求主资源所需的资源大小。
可选地,需求主资源包括内存和CPU,获取模块202还可以包括:
内存影响因子获取模块,用于获取内存影响因子,其中,内存影响因子为单个容器所需内存大小与微服务管理平台所有运行容器的内存平均使用量的比值;
CPU影响因子获取模块,用于获取CPU影响因子,其中,CPU影响因子为单个容器所需CPU颗数与微服务管理平台所有运行容器的CPU平均使用颗数的比值;
第一归一化模块,用于对内存影响因子和CPU影响因子分别进行归一化处理。
可选地,装置还可以包括:
基本需求获取模块,用于从配置文件中获取待部署容器中单个容器的基本需求;其中,基本需求包括所需端口、每个需求主资源所需的资源大小和节点选择属性;
筛选模块,用于筛选微服务管理平台所有节点中满足基本需求的节点作为符合部署条件的节点;
可选地,第一部署模块204可以包括:
第一评分模块,用于根据影响因子对微服务管理平台中符合部署条件的所有节点进行评分;
最佳节点选择模块,用于将评分最高的节点作为最佳节点。
可选地,第一评分模块可以包括:
资源余量获取模块,用于获取符合部署条件的所有节点中各节点的CPU可用资源余量和内存可用资源余量;
第一得分计算模块,用于根据如下表达式计算待选节点中各节点的当前得分;
Figure BDA0002717084590000131
其中,Si表示第i个符合部署条件的节点的当前得分,Ci表示第i个符合部署条件的节点的CPU可用资源余量,C表示部署单个容器所需CPU颗数,(Ci-C)表示第i个符合部署条件的节点部署一个容器后的剩余CPU资源余量,
Figure BDA0002717084590000132
表示第i个符合部署条件的节点部署一个容器后的CPU空闲率,Mi表示第i个符合部署条件的节点的内存可用资源余量,M表示部署单个容器所需内存大小,(Mi-M)表示第i个符合部署条件的节点部署一个容器后的剩余内存资源,
Figure BDA0002717084590000133
表示第i个符合部署条件的节点部署一个容器后的内存空闲率,α为归一化处理后的CPU影响因子,β为归一化处理后的内存影响因子,α和β的表达式分别为:
Figure BDA0002717084590000134
其中,C表示部署单个容器所需CPU颗数,CS表示微服务管理平台所有运行容器的平均CPU数,M表示部署单个容器所需内存大小,MS表示微服务管理平台所有运行容器的内存平均使用量。
可选地,第二部署模块206可以包括:
实际影响因子获取模块,用于根据部署的前一台容器的实际运行的各项资源使用数据获取各项资源的实际影响因子;
第二评分模块,用于根据实际影响因子对微服务管理平台中符合部署条件的所有节点再次进行评分,并将评分最高的节点作为当前最佳节点部署下一台容器;
迭代模块,用于按照上述步骤部署下一台容器,直到所有容器部署完毕。
可选地,实际运行的各项资源使用数据包括以下至少之一:内存大小、CPU占用颗数、硬盘大小、带宽大小、虚拟网卡数和I/0速率,各项资源的实际影响因子为各项资源使用数据与微服务管理平台所有运行容器的每个各项资源平均使用量的比值,该装置还可以包括:
第二归一化模块,用于对各项资源的实际影响因子分别进行归一化处理;
阈值因子获取模块,用于获取归一化处理后各项资源的实际影响因子中大于预设阈值的实际影响因子;
可选地,第二评分模块具体用于根据大于预设阈值的实际资源影响因子对微服务管理平台中符合部署条件的所有节点再次进行评分,并将评分最高的节点作为当前最佳节点部署下一台容器;
可选地,第二评分模块可以包括:
第二得分计算模块,用于根据如下表达式计算微服务管理平台中符合部署条件的各节点的当前得分;
Figure BDA0002717084590000141
其中,Si′表示第i个节点的当前得分,Xij表示第i个节点的第j个大于预设阈值的实际资源的可用资源余量,Xj表示部署单个容器所需的第j个大于预设阈值的实际资源的使用量;Yj′表示归一化处理后的第j个大于预设阈值的实际资源的影响因子。
实施例3:
本实施例提供一种微服务管理平台,该微服务管理平台包括实施例2所述的节点选择装置。
实施例2至实施例3提供的节点选择装置及微服务管理平台,通过获取新增微服务的待部署容器中单个容器的需求主资源的影响因子,以及根据影响因子获取微服务管理平台中符合部署条件的所有节点中的最佳节点,并在最佳节点上部署新增微服务的待部署容器中的任意一台容器,从而能够实现第一个容器的最佳部署,同时,在部署第一台容器后,再依次将剩余容器部署在当前最佳节点上,以实现剩余每一个容器的最佳部署。本发明不仅能够节约资源成本,而且能够更好的发挥微服务的优势,提高整个微服务的性能,解决了现有的新增微服务的节点选择方法由于采用轮询算法而导致节点选择不合理,从而影响整个微服务的性能的问题。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。

Claims (10)

1.一种新增微服务的节点选择方法,应用于微服务管理平台,其特征在于,包括:
获取新增微服务的待部署容器中单个容器的需求主资源的影响因子;
根据所述影响因子获取所述微服务管理平台中符合部署条件的所有节点中的最佳节点,并在所述最佳节点上部署所述新增微服务的待部署容器中的任意一台容器;
依次对新增微服务的待部署容器中的剩余容器进行部署,以将每台容器部署在当前最佳节点上。
2.根据权利要求1所述的新增微服务的节点选择方法,其特征在于,获取新增微服务的待部署容器中单个容器的需求主资源的影响因子的步骤之前,所述方法还包括:
获取所述新增微服务的配置文件;
从所述配置文件中获取待部署容器的容器个数、单个容器的需求主资源以及每个需求主资源所需的资源大小。
3.根据权利要求2所述的新增微服务的节点选择方法,其特征在于,所述需求主资源包括内存和CPU;
获取新增微服务的待部署容器中单个容器的需求主资源的影响因子,包括:
获取内存影响因子,其中,所述内存影响因子为所述单个容器所需内存大小与微服务管理平台所有运行容器的内存平均使用量的比值;
获取CPU影响因子,其中,所述CPU影响因子为所述单个容器所需CPU颗数与所述微服务管理平台所有运行容器的CPU平均使用颗数的比值;
对所述内存影响因子和CPU影响因子分别进行归一化处理。
4.根据权利要求2所述的新增微服务的节点选择方法,其特征在于,所述根据所述影响因子获取所述微服务管理平台中符合部署条件的所有节点中的最佳节点的步骤之前,所述方法还包括:
从所述配置文件中获取所述待部署容器中单个容器的基本需求;
所述基本需求包括所需端口、所述每个需求主资源所需的资源大小和节点选择属性;
筛选所述微服务管理平台所有节点中满足所述基本需求的节点作为符合部署条件的节点;
所述根据所述影响因子获取所述微服务管理平台中符合部署条件的所有节点中的最佳节点,包括:
根据所述影响因子对所述微服务管理平台中符合部署条件的所有节点进行评分;
将评分最高的节点作为最佳节点。
5.根据权利要求4所述的新增微服务的节点选择方法,其特征在于,所述根据所述影响因子对所述微服务管理平台中符合部署条件的所有节点进行评分,包括:
获取所述符合部署条件的所有节点中各节点的CPU可用资源余量和内存可用资源余量;
根据如下表达式计算待选节点中各节点的当前得分;
Figure FDA0002717084580000021
其中,Si表示第i个符合部署条件的节点的当前得分,Ci表示第i个符合部署条件的节点的CPU可用资源余量,C表示部署单个容器所需CPU颗数,(Ci-C)表示第i个符合部署条件的节点部署一个容器后的剩余CPU资源余量,
Figure FDA0002717084580000022
表示第i个符合部署条件的节点部署一个容器后的CPU空闲率,Mi表示第i个符合部署条件的节点的内存可用资源余量,M表示部署单个容器所需内存大小,(Mi-M)表示第i个符合部署条件的节点部署一个容器后的剩余内存资源,
Figure FDA0002717084580000023
表示第i个符合部署条件的节点部署一个容器后的内存空闲率,α为归一化处理后的CPU影响因子,β为归一化处理后的内存影响因子,所述α和β的表达式分别为:
Figure FDA0002717084580000031
其中,C表示部署单个容器所需CPU颗数,CS表示微服务管理平台所有运行容器的平均CPU数,M表示部署单个容器所需内存大小,MS表示微服务管理平台所有运行容器的内存平均使用量。
6.根据权利要求1-5任一项所述的新增微服务的节点选择方法,其特征在于,所述依次对新增微服务的待部署容器中的剩余容器进行部署,以将每台容器部署在当前最佳节点上,包括:
根据部署的前一台所述容器的实际运行的各项资源使用数据获取各项资源的实际影响因子;
根据所述实际影响因子对所述微服务管理平台中符合部署条件的所有节点再次进行评分,并将评分最高的节点作为当前最佳节点部署下一台容器;
按照上述步骤部署下一台容器,直到所有容器部署完毕。
7.根据权利要求6所述的新增微服务的节点选择方法,其特征在于,所述实际运行的各项资源使用数据包括以下至少之一:内存大小、CPU占用颗数、硬盘大小、带宽大小、虚拟网卡数和I/0速率,所述各项资源的实际影响因子为所述各项资源使用数据与所述微服务管理平台所有运行容器的每个各项资源平均使用量的比值,所述根据部署的前一台所述容器的实际运行的各项资源使用数据获取各项资源的实际影响因子的步骤之后,所述方法还包括:
对所述各项资源的实际影响因子分别进行归一化处理;
获取所述归一化处理后各项资源的实际影响因子中大于预设阈值的实际影响因子;
所述根据所述实际影响因子对所述微服务管理平台中符合部署条件的所有节点再次进行评分,包括:
根据所述大于预设阈值的实际资源影响因子对所述微服务管理平台中符合部署条件的所有节点再次进行评分。
8.根据权利要求7所述的新增微服务的节点选择方法,其特征在于,所述根据所述大于预设阈值的实际资源影响因子对所述微服务管理平台中符合部署条件的所有节点再次进行评分,包括:
根据如下表达式计算所述微服务管理平台中符合部署条件的各节点的当前得分;
Figure FDA0002717084580000041
其中,Si′表示第i个节点的当前得分,Xij表示第i个节点的第j个大于预设阈值的实际资源的可用资源余量,Xj表示部署单个容器所需的第j个大于预设阈值的实际资源的使用量;Yj′表示归一化处理后的第j个大于预设阈值的实际资源的影响因子。
9.一种新增微服务的节点选择装置,其特征在于,包括:
获取模块,用于获取新增微服务的待部署容器中单个容器的需求主资源的影响因子;
第一部署模块,与所述获取模块连接,用于根据所述影响因子获取所述微服务管理平台中符合部署条件的所有节点中的最佳节点,并在所述最佳节点上部署所述新增微服务的待部署容器中的任意一台容器;
第二部署模块,用于依次对新增微服务的待部署容器中的剩余容器进行部署,以将每台容器部署在当前最佳节点上。
10.一种微服务管理平台,其特征在于,包括权利要求9所述的节点选择装置。
CN202011077233.3A 2020-10-10 2020-10-10 一种新增微服务的节点选择方法、装置及微服务管理平台 Active CN112214321B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011077233.3A CN112214321B (zh) 2020-10-10 2020-10-10 一种新增微服务的节点选择方法、装置及微服务管理平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011077233.3A CN112214321B (zh) 2020-10-10 2020-10-10 一种新增微服务的节点选择方法、装置及微服务管理平台

Publications (2)

Publication Number Publication Date
CN112214321A true CN112214321A (zh) 2021-01-12
CN112214321B CN112214321B (zh) 2023-06-16

Family

ID=74052967

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011077233.3A Active CN112214321B (zh) 2020-10-10 2020-10-10 一种新增微服务的节点选择方法、装置及微服务管理平台

Country Status (1)

Country Link
CN (1) CN112214321B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113382077A (zh) * 2021-06-18 2021-09-10 广西电网有限责任公司 微服务调度方法、装置、计算机设备和存储介质
CN114995900A (zh) * 2022-05-23 2022-09-02 中国联合网络通信集团有限公司 多个微服务模块的部署方法、装置及计算机可读存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101626067B1 (ko) * 2015-09-08 2016-05-31 주식회사 브이시스템즈 슬레이브 노드들 사이에서 컨테이너의 이전을 용이하게 하기 위한 장치 및 방법
CN107734052A (zh) * 2017-11-02 2018-02-23 华南理工大学 面向组件依赖的负载均衡容器调度方法
US20180276044A1 (en) * 2017-03-27 2018-09-27 International Business Machines Corporation Coordinated, topology-aware cpu-gpu-memory scheduling for containerized workloads
CN109167835A (zh) * 2018-09-13 2019-01-08 重庆邮电大学 一种基于kubernetes的物理资源调度方法及系统
CN109213493A (zh) * 2017-07-06 2019-01-15 中兴通讯股份有限公司 容器部署方法、特殊资源管理终端及可读存储介质
CN110008006A (zh) * 2019-04-11 2019-07-12 中国联合网络通信集团有限公司 基于容器的大数据工具部署方法及系统
CN111190696A (zh) * 2019-12-28 2020-05-22 浪潮电子信息产业股份有限公司 Docker容器的部署方法、系统、设备及存储介质
CN111666130A (zh) * 2020-06-03 2020-09-15 百度在线网络技术(北京)有限公司 一种容器均衡部署的方法、装置、电子设备及存储介质
CN111737003A (zh) * 2020-06-24 2020-10-02 重庆紫光华山智安科技有限公司 Pod均衡调度方法、装置、主节点及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101626067B1 (ko) * 2015-09-08 2016-05-31 주식회사 브이시스템즈 슬레이브 노드들 사이에서 컨테이너의 이전을 용이하게 하기 위한 장치 및 방법
US20180276044A1 (en) * 2017-03-27 2018-09-27 International Business Machines Corporation Coordinated, topology-aware cpu-gpu-memory scheduling for containerized workloads
CN109213493A (zh) * 2017-07-06 2019-01-15 中兴通讯股份有限公司 容器部署方法、特殊资源管理终端及可读存储介质
CN107734052A (zh) * 2017-11-02 2018-02-23 华南理工大学 面向组件依赖的负载均衡容器调度方法
CN109167835A (zh) * 2018-09-13 2019-01-08 重庆邮电大学 一种基于kubernetes的物理资源调度方法及系统
CN110008006A (zh) * 2019-04-11 2019-07-12 中国联合网络通信集团有限公司 基于容器的大数据工具部署方法及系统
CN111190696A (zh) * 2019-12-28 2020-05-22 浪潮电子信息产业股份有限公司 Docker容器的部署方法、系统、设备及存储介质
CN111666130A (zh) * 2020-06-03 2020-09-15 百度在线网络技术(北京)有限公司 一种容器均衡部署的方法、装置、电子设备及存储介质
CN111737003A (zh) * 2020-06-24 2020-10-02 重庆紫光华山智安科技有限公司 Pod均衡调度方法、装置、主节点及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JIA-JUN WEI: "Algorithm to Arrange Storage Locations for Export Containers in the Yard", 《2009 FIFTH INTERNATIONAL JOINT CONFERENCE ON INC, IMS AND IDC》, pages 638 - 641 *
刘殊旸 等: "Docker动态调度算法的设计与实现", 《计算机工程与科学》, pages 2112 - 2119 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113382077A (zh) * 2021-06-18 2021-09-10 广西电网有限责任公司 微服务调度方法、装置、计算机设备和存储介质
CN114995900A (zh) * 2022-05-23 2022-09-02 中国联合网络通信集团有限公司 多个微服务模块的部署方法、装置及计算机可读存储介质
CN114995900B (zh) * 2022-05-23 2024-05-14 中国联合网络通信集团有限公司 多个微服务模块的部署方法、装置及计算机可读存储介质

Also Published As

Publication number Publication date
CN112214321B (zh) 2023-06-16

Similar Documents

Publication Publication Date Title
WO2021004468A1 (zh) 一种航班舱位资源分配方法及装置
CN111464583B (zh) 计算资源分配方法、装置、服务器及存储介质
CN112214321A (zh) 一种新增微服务的节点选择方法、装置及微服务管理平台
US7725900B2 (en) Method of assigning objects to processing units
CN108205570A (zh) 一种数据检测方法和装置
CN108228618B (zh) 单证数据核对的方法和装置
WO2018121025A1 (zh) 比较数据表的数据的方法和系统
CN110708369B (zh) 设备节点的文件部署方法、装置、调度服务器及存储介质
CN112764920A (zh) 一种边缘应用部署方法、装置、设备和存储介质
US11334799B2 (en) System and method for ordinal classification using a risk-based weighted information gain measure
CN116346863B (zh) 基于联邦学习的车载网数据处理方法、装置、设备及介质
CN115242598A (zh) 一种云操作系统部署方法及装置
CN114020455B (zh) 一种服务功能的编排方法、装置及计算机可读存储介质
CN111324424A (zh) 一种虚拟机部署方法、装置、服务器及存储介质
CN115665157B (zh) 一种基于应用资源类型的均衡调度方法和系统
CN108830302B (zh) 一种图像分类方法、训练方法、分类预测方法及相关装置
CN116360994A (zh) 分布式异构资源池的调度方法、装置、服务器及存储介质
CN111930299B (zh) 分配存储单元的方法及相关设备
CN115686379A (zh) 一种优化闪存中空白数据区管理的方法及系统
US20170090820A1 (en) Method and device for operating a many-core system
CN110941638A (zh) 应用分类规则库构建方法、应用分类方法及装置
CN112181829B (zh) Ab实验的用户分流方法、装置、终端及介质
CN111796934B (zh) 任务下发方法、装置、存储介质和电子设备
CN112988383A (zh) 一种资源分配方法、装置、设备以及存储介质
CN111124681B (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
GR01 Patent grant
GR01 Patent grant