应用容器的弹缩方法及装置、微服务、存储介质制造方法及图纸

技术编号:21183616 阅读:45 留言:0更新日期:2019-05-22 14:40
本发明专利技术公开一种应用容器的弹缩方法及装置、微服务、计算机可读存储介质,该方法包括步骤:根据预设数据库中存储的第一微服务的中间件容器获取到的第二微服务的性能指标数据、以及所述中间件容器的弹缩门限,确定第一微服务目标实例个数;其中,所述第一微服务实例包括编排的所述中间件容器和所述应用容器;根据所述第一微服务目标实例个数,弹缩所述中间件容器。本发明专利技术通过将中间件容器和应用容器绑定在同一个微服务中,根据采集到的其他微服务的性能指标数据,弹缩中间件容器,从而实现间接弹缩应用容器的目的。

Elastic Method and Device, Micro Service and Storage Medium for Applied Containers

The invention discloses an application container resilience method and device, micro-service and computer readable storage medium, which comprises steps: determining the number of first micro-service target instances according to the performance index data of the second micro-service obtained by the middleware container of the first micro-service stored in the preset database, and the resilience threshold of the middleware container; A micro service instance includes the arranged middleware container and the application container; according to the number of the first micro service target instances, the middleware container is resilient. By binding the middleware container and the application container in the same micro-service, the middleware container is resilient according to the performance index data of other micro-services collected, thus realizing the purpose of indirect resilience of the application container.

【技术实现步骤摘要】
应用容器的弹缩方法及装置、微服务、存储介质
本专利技术涉及计算机
,尤其涉及一种应用容器的弹缩方法及装置、微服务、计算机可读存储介质。
技术介绍
PaaS(PlatformasaService,平台即服务)作为软件行业快速开发部署定制化应用的云平台,兼容容器化应用的开发和部署。PaaS平台不仅需要完成容器化应用的快速部署,还要能支持其所承载应用的自动弹缩,以满足业务自动扩容和缩容。目前的PaaS平台上的应用容器的弹缩(弹性伸缩),基本原理就是通过修改微服务的期望实例个数,周期性检查期望实例个数和实际运行实例个数进行比对来实现微服务实例动态调度。控制策略都是集中在微服务自身的一些指标,如CPU、内存,以及微服务自身自定义指标。比如google开发的Kubernetes,作为最主流的容器云应用编排的平台之一,已经支持了三种指标弹缩。然而,对于一些场景,微服务需要弹缩依据的指标不在微服务本地统计,而是在其他微服务统计。也就出现了需要根据其他微服务的指标来对微服务自身进行弹缩。典型的应用场景1:基于API(ApplicationProgrammingInterface,应用程序编程接口)网关流量的弹缩,网关负责每个微服务实例请求的路由及负载均衡,只在API网关有每个微服务实例的请求和时延统计;典型的应用场景2:通信领域的小区接入管理微服务和性能统计微服务是两个独立的微服务。对于上述场景,微服务需要根据其他微服务的统计来进行动态扩容和缩容。因此,如何实现跨微服务弹缩,而应用无需修改适配是我们需要解决的课题。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种应用容器的弹缩方法及装置、微服务、计算机可读存储介质,以解决如何实现跨微服务弹缩,而应用无需修改适配的问题。本专利技术解决上述技术问题所采用的技术方案如下:根据本专利技术的一个方面,提供的一种应用容器的弹缩方法,所述方法包括步骤:根据预设数据库中存储的第一微服务的中间件容器获取到的第二微服务的性能指标数据、以及所述中间件容器的弹缩门限,确定第一微服务目标实例个数;其中,所述第一微服务实例包括编排的所述中间件容器和所述应用容器;根据所述第一微服务目标实例个数,弹缩所述中间件容器。根据本专利技术的另一个方面,提供的一种微服务,所述微服务包括微服务实例、数据库、确定模块以及弹缩模块;所述微服务实例包括编排的中间件容器和应用容器;所述中间件容器,用于获取其他微服务的性能指标数据;所述数据库,用于存储所述中间件容器获取到的其他微服务的性能指标数据;所述确定模块,用于根据所述数据库中存储的所述中间件容器获取到的其他微服务的性能指标数据、以及所述中间件容器的弹缩门限,确定微服务目标实例个数;所述弹缩模块,用于根据所述微服务目标实例个数,弹缩所述中间件容器。根据本专利技术的另一个方面,提供的一种应用容器的弹缩装置,所述应用容器的弹缩装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的应用容器的弹缩程序,所述应用容器的弹缩程序被所述处理器执行时实现上述的应用容器的弹缩方法的步骤。根据本专利技术的另一个方面,提供的一种计算机可读存储介质,所述计算机可读存储介质上存储有应用容器的弹缩程序,所述应用容器的弹缩程序被处理器执行时实现上述的应用容器的弹缩方法的步骤。本专利技术实施例的一种应用容器的弹缩方法及装置、微服务、计算机可读存储介质,通过将中间件容器和应用容器绑定在同一个微服务中,根据采集到的其他微服务的性能指标数据,弹缩中间件容器,从而实现间接弹缩应用容器的目的。附图说明图1为本专利技术实施例的网络架构结构示意图;图2为本专利技术第一实施例的应用容器的弹缩方法流程示意图;图3为本专利技术第一实施例的应用容器的弹缩方法中采集性能指标数据的流程示意图;图4为本专利技术第一实施例的应用容器的弹缩方法中存储性能指标数据的流程示意图;图5为本专利技术实施例的使用应用容器的弹缩方法的系统结构示意图;图6为本专利技术第二实施例的微服务结构示意图;图7为本专利技术第二实施例的微服务中的中间件容器结构示意图;图8为本专利技术第二实施例的微服务另一结构示意图;图9为本专利技术第二实施例的微服务中的中间件容器结构示意图;图10为本专利技术第三实施例的应用容器的弹缩装置结构示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式为了使本专利技术所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。为了更好地理解本专利技术的实施例,以下结合图1对具有容器的网络架构进行说明:netfuction:网络功能,类似网元的概念,例如eNobeB网元,omm系统,mce网元,epc网元。网络功能具体实现过程中可被拆分成多个微服务。microservice:微服务,提供比较独立的功能,图1中的microservice1,microservice2,microservice3,microservice4四个微服务共同构成一个网络功能,提供类似网元的功能。msinst:微服务实例,微服务的一个实体,如图1所示,microservice3微服务有四个实例msinst1,msinst2,msinst3,msinst4,这四个微服务实例具有完全相同的功能,一般是负载均衡处理业务。比如10000个用户接入,每个实例处理2500个。container:容器,提供运行环境隔离,类比进程+进程运行的环境。方便部署安装,秒级启动等优势。如图1所示,msinst3微服务实例有三个容器container1,container2,container3。传统的通信网元可被拆分为图1所示的多个微服务构成的功能的集合,以满足未来网络功能并根据场景进行灵活的编排、裁剪和部署,微服务的实体一般是一个容器化的应用,这也是PaaS平台能够独立部署的功能实体。从图1中可以得知,一个微服务(microservice3)有4个实例(msinst1,msinst2,msinst3,msinst4)来提供一定的业务量,然而微服务的业务量不是恒定不变,是随着时间、用户数、节假日等变化而变化,必然会出现扩容和缩容的情况。恒定的资源和实例个数无法满足业务量的动态变化,这就需要PaaS平台根据实时业务量弹性的扩张或者收缩出若干个微服务实例,也就是容器化应用弹缩来满足业务需求。第一实施例如图2所示,本专利技术第一实施例提供一种应用容器的弹缩方法,其特征在于,所述方法包括步骤:S11、根据预设数据库中存储的第一微服务的中间件容器获取到的第二微服务的性能指标数据、以及所述中间件容器的弹缩门限,确定第一微服务目标实例个数;其中,所述第一微服务实例包括编排的所述中间件容器和所述应用容器。在本实施例中,中间件容器和第一微服务的应用容器被编排在第一微服务的实例中,这样,应用容器的生命周期和中间件容器的生命周期保持一致。请参考图3所示,在本实施例中,所述中间件容器通过以下方式获取所述第二微服务的性能指标数据:S110、根据注入的环境变量,获取所述第二微服务的采集地址、采集周期以及归一化处理策略。在本实施例中,所述中间件容器和所述第一微服务的应用容器被编排在所述第一微服务的实例时,注入环本文档来自技高网...

【技术保护点】
1.一种应用容器的弹缩方法,其特征在于,所述方法包括步骤:根据预设数据库中存储的第一微服务的中间件容器获取到的第二微服务的性能指标数据、以及所述中间件容器的弹缩门限,确定第一微服务目标实例个数;其中,所述第一微服务实例包括编排的所述中间件容器和所述应用容器;根据所述第一微服务目标实例个数,弹缩所述中间件容器。

【技术特征摘要】
1.一种应用容器的弹缩方法,其特征在于,所述方法包括步骤:根据预设数据库中存储的第一微服务的中间件容器获取到的第二微服务的性能指标数据、以及所述中间件容器的弹缩门限,确定第一微服务目标实例个数;其中,所述第一微服务实例包括编排的所述中间件容器和所述应用容器;根据所述第一微服务目标实例个数,弹缩所述中间件容器。2.根据权利要求1所述的一种应用容器的弹缩方法,其特征在于,所述中间件容器通过以下方式获取所述第二微服务的性能指标数据:根据注入的环境变量,获取所述第二微服务的采集地址、采集周期以及归一化处理策略;根据所述第二微服务的采集地址和所述采集周期,采集所述第二微服务的性能指标数据;根据归一化处理策略,将采集到的所述第二微服务的性能指标数据进行归一化处理。3.根据权利要求1所述的一种应用容器的弹缩方法,其特征在于,所述中间件容器获取到的第二微服务的性能指标数据通过以下方式存储到所述预设数据库中:根据所述中间件容器的配置文件和容器标签,获取所述中间件容器获取到的第二微服务的性能指标数据;将所述性能指标数据打上标签后存储到所述预设数据库中。4.根据权利要求1所述的一种应用容器的弹缩方法,其特征在于,通过以下方式计算所述第一微服务目标实例个数:所述第一微服务目标实例个数=采集到的性能指标数据的和÷弹缩门限目标值;其中,所述弹缩门限目标值=(最大弹缩门限+最小弹缩门限)÷2。5.根据权利要求1所述的一种应用容器的弹缩方法,其特征在于,所述根据所述第一微服务目标实例个数,弹缩所述中间件容器包括步骤:若采集到的性能指标数据的平均值小于所述弹缩门限,则根据所述第一微服务目标实例个数,删除所述中间件容器;若采集到的性能指标数据的平均值大于所述弹缩门限,则根据所述第一微服务目标实例个数,增加所述中间件容器。6.一种微服务,其特征在于,所述微服务包括微服务实例、数据库、确定模块以及弹缩模块;所述微服务实例包括编排的中间件容器和应用容器;所述中间件容器,用于获取其他微服务的性能指标数据;所述数据...

【专利技术属性】
技术研发人员:张耀曹涛郑夕宝赵建伟
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东,44

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

1