CN111459681A - 一种基于微服务负载的动态弹性伸缩方法 - Google Patents

一种基于微服务负载的动态弹性伸缩方法 Download PDF

Info

Publication number
CN111459681A
CN111459681A CN202010265014.1A CN202010265014A CN111459681A CN 111459681 A CN111459681 A CN 111459681A CN 202010265014 A CN202010265014 A CN 202010265014A CN 111459681 A CN111459681 A CN 111459681A
Authority
CN
China
Prior art keywords
load
microservice
resources
dynamic elastic
metrics
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
CN202010265014.1A
Other languages
English (en)
Other versions
CN111459681B (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.)
Shanghai Sailing Information Technology Co ltd
Original Assignee
Shanghai Sailing Information 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 Shanghai Sailing Information Technology Co ltd filed Critical Shanghai Sailing Information Technology Co ltd
Priority to CN202010265014.1A priority Critical patent/CN111459681B/zh
Publication of CN111459681A publication Critical patent/CN111459681A/zh
Application granted granted Critical
Publication of CN111459681B publication Critical patent/CN111459681B/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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor
    • 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)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于微服务负载的动态弹性伸缩方法,涉及微服务领域,根据预先配置的伸缩策略、监控CPU、内存、时间指标、自动触发伸缩行为,根据平台弹性资源情况,动态的启/停微服务实例。本发明弹性伸缩规则更加具体,结合实际业务配置具体的触发规则,支持自动触发,支持水平、垂直伸缩,达到自动弹性伸缩的目的。

Description

一种基于微服务负载的动态弹性伸缩方法
技术领域
本发明涉及微服务领域,尤其涉及一种基于微服务负载的动态弹性伸缩方法。
背景技术
近些年来,IT系统发展很快,随着需求增加、各项新的软件技术产生等使得软件部署环境的运维管理越来越复杂,能够提供基于业务负载的动态弹性伸缩能力成为了迫切的需求。
由于微服务架构和容器技术的兴起,大部分业务应用都采用微服务架构并且使用容器技术,所以最小的伸缩力度是容器(应用的实例)。
将负载(工作任务,访问请求)进行平衡、分摊到多个操作单元(服务器,组件)上进行执行。负载的弹性伸缩,在应用级别伸缩层面一般可以指定应用的实例以及每个实例使用的资源进行伸缩调整,提供垂直、水平伸缩的方式。
但现有的微服务架构,当需要进行伸缩时,存在以下缺点:
1、现有的云平台,主要是在IaaS层的资源池的伸缩,整体管理整个平台的节点资源,在应用级别的伸缩业务化定制能力不足。
2、弹性扩缩容一般采取手动触发的方式,一般通过申请授权完成。
因此,本领域的技术人员致力于开发一种基于微服务负载的动态弹性伸缩方法,应用根据负载情况,实现应用实例动态弹性的容器管理。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是应用业务化扩缩容策略定制和弹性扩缩容自动触发。为实现上述目的,本发明提供了一种基于微服务负载的动态弹性伸缩方法,其特征在于,包括以下步骤:
步骤1、配置并更新弹性资源;
步骤2、配置伸缩策略;
步骤3、汇总微服务实例监控指标;
步骤4、判断微服务实例监控指标是否满足伸缩策略,如不满足则返回步骤3,如满足则进入步骤5;
步骤5、计算扩缩容资源情况;
步骤6、判断资源是否足够扩缩容,如不满足则告警,如满足则进入步骤7;
步骤7、调用容器管理软件,启/停容器;
步骤8、更新注册中心实例信息,更新弹性资源。
进一步地,弹性资源包括微服务实例资源和宿主机资源。
进一步地,微服务实例监控指标包括CPU指标、内存指标、时间指标。
进一步地,CPU指标采用周期和阈值的方式。
进一步地,内存指标采用周期和阈值的方式。
进一步地,时间指标包括定时、周期、扩缩容方向。
进一步地,伸缩策略包括开关、步长、最大实例数、最小实例数、间隔触发时间、主机规则、触发指标。
进一步地,步长为单次伸缩操作可增减的实例数。
进一步地,主机规则包括指定主机、排除主机、轮询、最小负载。
进一步地,触发指标包括CPU指标、内存指标、时间指标。
本发明的弹性伸缩规则更加具体,结合实际业务配置具体的触发规则,支持自动触发,支持水平、垂直伸缩。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是本发明的扩缩容自动触发的流程图。
具体实施方式
以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。
如图1所示,一个微服务架构下的系统,包含各种弹性资源,如宿主机资源和微服务实例。根据实际业务的不同,需要增加或减少弹性资源,并完成实例配置,保证业务平稳健康运行。在满足业务需求高峰增长时无缝地增加弹性资源,并在业务需求下降时自动减少弹性资源以节约成本。
为此,本实施例按照如下步骤进行动态弹性伸缩:
步骤1、配置并更新弹性资源,弹性资源包括宿主机资源和微服务资源。预先维护好宿主机资源情况和微服务实例资源情况(满足正常业务负载情况下的资源要求)。
宿主机资维护如下参数:
Figure BDA0002440944910000021
Figure BDA0002440944910000031
微服务资源维护如下参数:
Figure BDA0002440944910000032
步骤2、配置伸缩策略;
伸缩策略需要考虑:在什么时候(定时、周期)、按照什么方式(监控项、判断标准)、进行怎样的伸缩行为(定位目标资源、伸缩的流程控制)。
弹性伸缩的具体参数如下:
Figure BDA0002440944910000033
其中,启动开关定义伸缩策略是否启动;
对于CPU和内存采用周期和阈值结合的方式,比如:
1)在五分钟周期内CPU平均占用值小于30%的最小阈值则进行缩容;
2)在五分钟周期内内存最大占用值大于90%的最大阈值则进行扩容;
对于时间,需要指定周期内监控指标和周期临界点的扩缩容方向,如定时扩缩容或者周期性扩缩容。
步骤3、汇总微服务实例监控指标;包括微服务实例运行过程中的各种指标如CPU、内存的占用情况。
步骤4、判断微服务实例监控指标是否满足步骤2中定义的伸缩策略,如不满足则返回步骤3继续监控,如满足则进入步骤5。
步骤5、计算扩缩容资源情况。
步骤6、判断资源是否足够扩缩容,如不满足则告警,如满足则进入步骤7;
步骤7、根据调用容器管理软件,启/停容器;根据平台弹性资源情况和主机规则,动态的启/停微服务实例(容器)。
步骤8、更新注册中心实例信息,更新弹性资源。
在弹性伸缩策略触发扩缩容规则后,将相关实例信息注册到注册中心。定期检查注册中心实例信息,更新宿主机资源情况(空闲资源情况和微服务实例资源情况),调整负载组件的负载均衡路由规则,将必要的服务请求转发规则进行调整。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

Claims (10)

1.一种基于微服务负载的动态弹性伸缩方法,其特征在于,所述方法包括以下步骤:
步骤1、配置并更新弹性资源;
步骤2、配置伸缩策略;
步骤3、汇总微服务实例监控指标;
步骤4、判断所述微服务实例监控指标是否满足所述伸缩策略,如不满足则返回步骤3,如满足则进入步骤5;
步骤5、计算扩缩容资源情况;
步骤6、判断资源是否足够扩缩容,如不满足则告警,如满足则进入步骤7;
步骤7、调用容器管理软件,启/停容器;
步骤8、更新注册中心实例信息,更新所述弹性资源。
2.如权利要求1所述的基于微服务负载的动态弹性伸缩方法,其特征在于,所述弹性资源包括微服务实例资源和宿主机资源。
3.如权利要求1所述的基于微服务负载的动态弹性伸缩方法,其特征在于,所述微服务实例监控指标包括CPU指标、内存指标、时间指标。
4.如权利要求3所述的基于微服务负载的动态弹性伸缩方法,其特征在于,所述CPU指标采用周期和阈值的方式。
5.如权利要求3所述的基于微服务负载的动态弹性伸缩方法,其特征在于,所述内存指标采用周期和阈值的方式。
6.如权利要求3所述的基于微服务负载的动态弹性伸缩方法,其特征在于,所述时间指标包括定时、周期、扩缩容方向。
7.如权利要求1所述的基于微服务负载的动态弹性伸缩方法,其特征在于,所述伸缩策略包括开关、步长、最大实例数、最小实例数、间隔触发时间、主机规则、触发指标。
8.如权利要求7所述的基于微服务负载的动态弹性伸缩方法,其特征在于,所述步长为单次伸缩操作可增减的实例数。
9.如权利要求7所述的基于微服务负载的动态弹性伸缩方法,其特征在于,所述主机规则包括指定主机、排除主机、轮询、最小负载。
10.如权利要求7所述的基于微服务负载的动态弹性伸缩方法,其特征在于,所述触发指标包括CPU指标、内存指标、时间指标。
CN202010265014.1A 2020-04-07 2020-04-07 一种基于微服务负载的动态弹性伸缩方法 Active CN111459681B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010265014.1A CN111459681B (zh) 2020-04-07 2020-04-07 一种基于微服务负载的动态弹性伸缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010265014.1A CN111459681B (zh) 2020-04-07 2020-04-07 一种基于微服务负载的动态弹性伸缩方法

Publications (2)

Publication Number Publication Date
CN111459681A true CN111459681A (zh) 2020-07-28
CN111459681B CN111459681B (zh) 2023-08-08

Family

ID=71685903

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010265014.1A Active CN111459681B (zh) 2020-04-07 2020-04-07 一种基于微服务负载的动态弹性伸缩方法

Country Status (1)

Country Link
CN (1) CN111459681B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112448848A (zh) * 2020-11-13 2021-03-05 上海电器科学研究所(集团)有限公司 一种基于微服务自动扩容方法
CN114138473A (zh) * 2021-11-23 2022-03-04 西安电子科技大学 一种基于混合模式的弹性调度装置及方法
US11842214B2 (en) 2021-03-31 2023-12-12 International Business Machines Corporation Full-dimensional scheduling and scaling for microservice applications

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108712464A (zh) * 2018-04-13 2018-10-26 中国科学院信息工程研究所 一种面向集群微服务高可用的实现方法
CN109783073A (zh) * 2017-11-13 2019-05-21 中兴通讯股份有限公司 应用容器的弹缩方法及装置、微服务、存储介质
WO2020063206A1 (zh) * 2018-09-28 2020-04-02 南京中兴软件有限责任公司 微服务实例弹性伸缩方法、装置以及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109783073A (zh) * 2017-11-13 2019-05-21 中兴通讯股份有限公司 应用容器的弹缩方法及装置、微服务、存储介质
CN108712464A (zh) * 2018-04-13 2018-10-26 中国科学院信息工程研究所 一种面向集群微服务高可用的实现方法
WO2020063206A1 (zh) * 2018-09-28 2020-04-02 南京中兴软件有限责任公司 微服务实例弹性伸缩方法、装置以及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
徐琛杰;周翔;彭鑫;赵文耘;: "面向微服务系统的运行时部署优化" *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112448848A (zh) * 2020-11-13 2021-03-05 上海电器科学研究所(集团)有限公司 一种基于微服务自动扩容方法
US11842214B2 (en) 2021-03-31 2023-12-12 International Business Machines Corporation Full-dimensional scheduling and scaling for microservice applications
CN114138473A (zh) * 2021-11-23 2022-03-04 西安电子科技大学 一种基于混合模式的弹性调度装置及方法

Also Published As

Publication number Publication date
CN111459681B (zh) 2023-08-08

Similar Documents

Publication Publication Date Title
CN111459681A (zh) 一种基于微服务负载的动态弹性伸缩方法
US8656404B2 (en) Statistical packing of resource requirements in data centers
US7788671B2 (en) On-demand application resource allocation through dynamic reconfiguration of application cluster size and placement
WO2018072708A1 (zh) 一种云平台业务的缩容方法、装置及云平台
CN113395178A (zh) 一种容器云弹性伸缩的方法及装置
JP7103705B1 (ja) クラスタに基づく容量縮小処理方法及び装置
CN102932413B (zh) 一种计算资源分配方法、云管理平台节点和计算资源集群
CN113835865B (zh) 一种任务部署方法和装置、电子设备和存储介质
US10423217B1 (en) Dynamic power capping of multi-server nodes in a chassis based on real-time resource utilization
CN111258746B (zh) 资源分配方法和服务设备
CN114356557A (zh) 一种集群扩容方法及装置
CN101917386A (zh) 一种集群式多媒体转码系统及其任务处理方法
CN114189482A (zh) 一种集群资源的控制方法、装置和系统
EP3026869A2 (en) Method, device and system for carrying out telecommunication capability group sending
CN115617497A (zh) 线程处理方法、调度组件、监测组件、服务器和存储介质
US11444888B2 (en) Scaling network functions
CN111835797A (zh) 一种数据处理方法、装置及设备
CN1988684B (zh) 网络进程管理方法及装置
WO2018188405A1 (zh) 云应用资源的配置方法及装置
CN104899072A (zh) 基于虚拟化平台的细粒度资源调度系统及方法
TW201735596A (zh) 任務調度方法和裝置
CN111585908B (zh) 一种智能热点打散的方法、装置、存储介质及计算机设备
US10193823B2 (en) Rich resource management incorporating usage statistics for fairness
CN112835996A (zh) 一种地图生产系统及其方法
CN109144694A (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