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

技术编号:25041044 阅读:16 留言:0更新日期:2020-07-29 05:32
本发明专利技术公开了一种基于微服务负载的动态弹性伸缩方法,涉及微服务领域,根据预先配置的伸缩策略、监控CPU、内存、时间指标、自动触发伸缩行为,根据平台弹性资源情况,动态的启/停微服务实例。本发明专利技术弹性伸缩规则更加具体,结合实际业务配置具体的触发规则,支持自动触发,支持水平、垂直伸缩,达到自动弹性伸缩的目的。

【技术实现步骤摘要】
一种基于微服务负载的动态弹性伸缩方法
本专利技术涉及微服务领域,尤其涉及一种基于微服务负载的动态弹性伸缩方法。
技术介绍
近些年来,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、更新注册中心实例信息,更新弹性资源。在弹性伸缩策略触发扩缩容规则后,将相关实例信息注册到注册中心。定期检查注册中心实例信息,更新宿主机资源情况(空闲资源情况和微服务实例资源情况),调整负载组件的负载均衡路由规则,将必要的服务请求转发规则进行调整。以上详细描述了本专利技术的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本专利技术的构思作出诸多修改和变化。因此,凡本
中技术人员依本专利技术的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。本文档来自技高网
...

【技术保护点】
1.一种基于微服务负载的动态弹性伸缩方法,其特征在于,所述方法包括以下步骤:/n步骤1、配置并更新弹性资源;/n步骤2、配置伸缩策略;/n步骤3、汇总微服务实例监控指标;/n步骤4、判断所述微服务实例监控指标是否满足所述伸缩策略,如不满足则返回步骤3,如满足则进入步骤5;/n步骤5、计算扩缩容资源情况;/n步骤6、判断资源是否足够扩缩容,如不满足则告警,如满足则进入步骤7;/n步骤7、调用容器管理软件,启/停容器;/n步骤8、更新注册中心实例信息,更新所述弹性资源。/n

【技术特征摘要】
1.一种基于微服务负载的动态弹性伸缩方法,其特征在于,所述方法包括以下步骤:
步骤1、配置并更新弹性资源;
步骤2、配置伸缩策略;
步骤3、汇总微服务实例监控指标;
步骤4、判断所述微服务实例监控指标是否满足所述伸缩策略,如不满足则返回步骤3,如满足则进入步骤5;
步骤5、计算扩缩容资源情况;
步骤6、判断资源是否足够扩缩容,如不满足则告警,如满足则进入步骤7;
步骤7、调用容器管理软件,启/停容器;
步骤8、更新注册中心实例信息,更新所述弹性资源。


2.如权利要求1所述的基于微服务负载的动态弹性伸缩方法,其特征在于,所述弹性资源包括微服务实例资源和宿主机资源。


3.如权利要求1所述的基于微服务负载的动态弹性伸缩方法,其特征在于,所述微服务实例监控指标包括CPU指标、内存指标、时间指标。


4.如权利要求3所述的基于微服务负载的动态弹性伸缩方法,其特征在于,所述...

【专利技术属性】
技术研发人员:李超师少飞冯龙龙李阳锟徐强
申请(专利权)人:上海熙菱信息技术有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1