CN111459681B - 一种基于微服务负载的动态弹性伸缩方法 - Google Patents
一种基于微服务负载的动态弹性伸缩方法 Download PDFInfo
- Publication number
- CN111459681B CN111459681B CN202010265014.1A CN202010265014A CN111459681B CN 111459681 B CN111459681 B CN 111459681B CN 202010265014 A CN202010265014 A CN 202010265014A CN 111459681 B CN111459681 B CN 111459681B
- Authority
- CN
- China
- Prior art keywords
- index
- micro
- expansion
- service
- elastic
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5022—Workload threshold
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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、配置并更新弹性资源,弹性资源包括宿主机资源和微服务资源。预先维护好宿主机资源情况和微服务实例资源情况(满足正常业务负载情况下的资源要求)。
宿主机资维护如下参数:
微服务资源维护如下参数:
步骤2、配置伸缩策略;
伸缩策略需要考虑:在什么时候(定时、周期)、按照什么方式(监控项、判断标准)、进行怎样的伸缩行为(定位目标资源、伸缩的流程控制)。
弹性伸缩的具体参数如下:
其中,启动开关定义伸缩策略是否启动;
对于CPU和内存采用周期和阈值结合的方式,比如:
1)在五分钟周期内CPU平均占用值小于30%的最小阈值则进行缩容;
2)在五分钟周期内内存最大占用值大于90%的最大阈值则进行扩容;
对于时间,需要指定周期内监控指标和周期临界点的扩缩容方向,如定时扩缩容或者周期性扩缩容。
步骤3、汇总微服务实例监控指标;包括微服务实例运行过程中的各种指标如CPU、内存的占用情况。
步骤4、判断微服务实例监控指标是否满足步骤2中定义的伸缩策略,如不满足则返回步骤3继续监控,如满足则进入步骤5。
步骤5、计算扩缩容资源情况。
步骤6、判断资源是否足够扩缩容,如不满足则告警,如满足则进入步骤7;
步骤7、根据调用容器管理软件,启/停容器;根据平台弹性资源情况和主机规则,动态的启/停微服务实例(容器)。
步骤8、更新注册中心实例信息,更新弹性资源。
在弹性伸缩策略触发扩缩容规则后,将相关实例信息注册到注册中心。定期检查注册中心实例信息,更新宿主机资源情况(空闲资源情况和微服务实例资源情况),调整负载组件的负载均衡路由规则,将必要的服务请求转发规则进行调整。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (1)
1.一种基于微服务负载的动态弹性伸缩方法,其特征在于,所述方法包括以下步骤:
步骤1、配置并更新弹性资源;
步骤2、配置伸缩策略;
步骤3、汇总微服务实例监控指标;
步骤4、判断所述微服务实例监控指标是否满足所述伸缩策略,如不满足则返回步骤3,如满足则进入步骤5;
步骤5、计算扩缩容资源情况;
步骤6、判断资源是否足够扩缩容,如不满足则告警,如满足则进入步骤7;
步骤7、调用容器管理软件,启/停容器;
步骤8、更新注册中心实例信息,更新所述弹性资源;
所述弹性资源包括微服务实例资源和宿主机资源,所述微服务实例监控指标包括CPU指标、内存指标、时间指标,所述CPU指标采用周期和阈值的方式,所述内存指标采用周期和阈值的方式,所述时间指标包括定时、周期、扩缩容方向;
所述伸缩策略包括开关、步长、最大实例数、最小实例数、间隔触发时间、主机规则、触发指标,所述步长为单次伸缩操作可增减的实例数,所述主机规则包括指定主机、排除主机、轮询、最小负载,所述触发指标包括CPU指标、内存指标、时间指标;所述CPU指标为一定持续时间内CPU的最大阈值、最小阈值;所述内存指标为一定持续时间内内存最大阈值、最小阈值;所述时间指标为定时、周期及扩容缩容伸缩方向。
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 CN111459681A (zh) | 2020-07-28 |
CN111459681B true 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) |
Families Citing this family (3)
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 |
CN114138473B (zh) * | 2021-11-23 | 2024-06-25 | 西安深信智行科技有限公司 | 一种基于混合模式的弹性调度装置及方法 |
Citations (3)
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 | 南京中兴软件有限责任公司 | 微服务实例弹性伸缩方法、装置以及存储介质 |
-
2020
- 2020-04-07 CN CN202010265014.1A patent/CN111459681B/zh active Active
Patent Citations (3)
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)
Title |
---|
徐琛杰 ; 周翔 ; 彭鑫 ; 赵文耘 ; .面向微服务***的运行时部署优化.计算机应用与软件.2018,(第10期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111459681A (zh) | 2020-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111459681B (zh) | 一种基于微服务负载的动态弹性伸缩方法 | |
WO2022257347A1 (zh) | 一种容器云弹性伸缩的方法及集群服务器 | |
US8656404B2 (en) | Statistical packing of resource requirements in data centers | |
EP3335120B1 (en) | Method and system for resource scheduling | |
CN104468407B (zh) | 实现业务平台资源弹性分配的方法与装置 | |
US20160378570A1 (en) | Techniques for Offloading Computational Tasks between Nodes | |
CN110505155B (zh) | 请求降级处理方法、装置、电子设备及存储介质 | |
US20070078858A1 (en) | Method and system for load balancing of computing resources | |
CN109739627B (zh) | 任务的调度方法、电子设备及介质 | |
US11119563B2 (en) | Dynamic power capping of multi-server nodes in a chassis based on real-time resource utilization | |
CN102457906A (zh) | 一种消息队列的负载均衡控制方法及*** | |
CN109800261B (zh) | 双数据库连接池的动态控制方法、装置及相关设备 | |
EP3026869B1 (en) | Method, device and system for carrying out telecommunication capability group sending | |
JP2023092413A (ja) | クラスタに基づく容量縮小処理方法及び装置 | |
CN110365743B (zh) | 一种基于Zookeeper实现的支持多种可自定义负载算法的负载均衡器实现方法 | |
CN110838987A (zh) | 队列限流方法、存储介质 | |
CN103747043A (zh) | 一种cdn服务器调度方法、cdn控制中心及*** | |
CN115361385B (zh) | Docker Swarm环境中云原生应用自动弹性伸缩***和伸缩方法 | |
CN113190343A (zh) | 应用实例的控制方法、装置、设备及*** | |
CN116244061A (zh) | 一种基于k8s的Pod调度方法、存储介质及设备 | |
CN107229519B (zh) | 任务调度方法和装置 | |
CN108279982B (zh) | pbs资源与hadoop资源管理方法、***及设备 | |
CN113434280A (zh) | 基于时间动态调整调度间隔的方法 | |
US20150043722A1 (en) | Communication control device, communication control method, and communication control system | |
CN111190728A (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 |