一种面向云计算的交互感知的容器化微服务资源调度方法技术

技术编号:28419124 阅读:14 留言:0更新日期:2021-05-11 18:26
发明专利技术涉及一种面向云计算的交互感知的容器化微服务资源调度方法。本发明专利技术根据负载测试脚本生成负载以监测微服务间的调用行为,表示为微服务交互图;使用顶点权重表示微服务的资源需求,边权重表示微服务间的交互次数,表示为微服务交互因子;使用0/1线性约束的二次规划建模微服务到可用节点的映射,以在资源容量限制下最小化微服务间的通信开销;将满足资源需求的微服务部署到集群中的可用节点,并部署依赖该微服务的微服务实例到该节点。通过将相互作用的微服务优先部署在相同节点上,最大限度减少部署应用程序的物理节点之间的通信开销,以达到最小化请求处理响应时间的目标。

【技术实现步骤摘要】
一种面向云计算的交互感知的容器化微服务资源调度方法
本专利技术涉及一种面向云计算的交互感知的容器化微服务资源调度方法,属于软件

技术介绍
云计算已经成为商业、医疗和教育等领域的技术解决方案,提供了可以通过网络访问计算、存储等资源池的方式。托管在云计算环境中的应用程序已经成为人类日常生活不可或缺的部分。云计算范式以云服务的形式扩展功能,这些云服务可以组合成云应用程序。云服务按照面向服务架构的原则构建,将应用程序设计为几个相互作用的独立微服务单元的组合。云模式依赖虚拟化技术托管各种应用程序和服务,提供虚拟机托管云中的应用程序。由于基于虚拟机技术的性能开销,云提供商采用了轻量级虚拟化技术,将其所提供的服务托管在容器中,容器为在云中托管和运行微服务提供了可用的选择。资源管理是容器化云计算系统的关键问题,通过容器编排引擎控制和协调跨不同节点容器的操作处理任务。云数据中心中将微服务容器分配给不同节点,分配任务操作决定了微服务软件应用的执行效率,低效分配策略可能会导致响应时间增加和吞吐量降低,从而影响用户体验。考虑资源需求和其他关键因素的资源管理技术对于确保微服务应用程序高效运行至关重要。确定分配给即将到来的微服务应用程序的正确资源量是复杂的任务,每个微服务都托管在独立容器中,该容器需要映射到合适的物理节点。文献(X.Wan,X.Guan,T.Wang,G.Bai,B.-Y.Choi,Applicationdeploymentusingmicroserviceanddockercontainers:frameworkandoptimization,J.Netw.Comput.Appl.,119(2018),97–109.)分析Docker的特点,根据微服务应用的资源需求以及云数据中心的可用资源描述应用部署问题,提出了通信效率框架和次优算法来确定容器的放置和任务分配策略。文献(T.Zheng,X.Zheng,Y.Zhang,Y.Deng,E.Dong,R.Zhang,X.Liu,Smartvm:aSLA-awaremicroservicedeploymentframework,WorldWideWeb,22(1)(2019),275–293.)提出了面向微服务软件架构,支持业务服务级别协议的部署框架,以简化构建和部署动态可伸缩微服务过程,从而以较低开销应对流量峰值。文献(Y.Tao,X.Wang,X.Xu,Y.Chen,Dynamicresourceallocationalgorithmforcontainer-basedservicecomputing,in:2017IEEE13thInternationalSymposiumonAutonomousDecentralizedSystem(ISADS),IEEE,2017,pp.61–67.)提出了基于模糊推理系统的调度算法,通过模糊推理系统评估节点的状态来进行容器资源的全局分配。上述研究工作没有考虑微服务之间的交互模式,而交互操作和交互实体的频率会严重影响通信开销,是决定特定于微服务的响应时间值的重要因素。
技术实现思路
本专利技术的目的:在云计算环境下,将容器化微服务资源分配问题建模为规划问题,通过将相互作用的微服务优先部署在相同节点上,最大限度减少部署应用程序的物理节点之间的通信开销,以达到最小化请求处理响应时间的目标。本专利技术的原理:微服务资源分配问题可以形式化为二元规划问题,限定对计算和内存资源的约束条件。将系统建模为无向加权图以表示微服务的交互行为,以加权交互图的形式描述微服务之间的交互模式,包括交互频率和交互组件的特征,将相互作用的微服务优先部署在相同节点上。本专利技术技术解决方案为一种面向云计算的交互感知的容器化微服务资源调度方法,其特点在于实现步骤如下:第一步,生成微服务交互图:获取开发人员编写的应用的负载测试脚本并生成负载,监测微服务间的调用行为并表示为微服务交互图。开发人员为应用提供负载测试脚本,对基于微服务软件架构的应用程序进行负载测试,监测各种微服务之间的交互调用行为,将其表示为微服务交互图。微服务应用软件由众多微服务构成,相互交互以处理从用户接收的请求,微服务之间的交互可以用无向图的形式表示。交互图G是由<V,T,E,D>表示的无向完全加权图。其中,V表示微服务组成的顶点集合;T表示由V中与定点相关联的权重集合,权重表示为<vcpu_req,vmem_req>,即与顶点相关联的计算和内存资源需求;E表示微服务交互所形成的边集合;D表示边权重dij集合,即微服务顶点i和微服务顶点j之间交互的数量,即两个方向上交互次数的总和。第二步,计算微服务交互因子:在所述微服务交互图中,使用顶点权重表示微服务的资源需求,边权重表示微服务间的交互次数,所述交互次数为微服务交互因子。计算微服务之间的交互次数,由交互图中边的权重来表示,计算每对微服务的相互作用的系数。频繁交互的微服务尽可能放置在相同或相邻物理节点,以确保不同物理节点之间的通信最小化,从而减少请求处理所带来的延迟。将两个节点vi和vj之间的相互作用量化定义为交互因子cij,其中,微服务vi部署在主机hz和微服务vj部署在节点hw。如果hz和hw是不同的节点,则cij=0;否则,cij=dij/2,即相互作用成本在调用双向中平均分配。因此,交互因子值取决于交互的数量,以及托管这些微服务的物理节点位置。第三步,建模微服务放置策略:得到所述交互因子后,使用0/1线性约束的二次规划建模微服务到可用节点的映射,以在资源容量限制下最小化微服务间的通信开销。云数据中心具有n个物理主机,表示为H={h1,h2,…,hi,…,hn},其中,hi表示单个主机。每个主机特征表示为元组<cpu,mem>,表示物理主机上的处理核心数量和内存单元数量。应用程序由不同的微服务组成,微服务在物理机器中托管的容器上运行。属于同一个应用程序的微服务可以相互作用,处理用户提交的服务请求,因此,属于不同应用程序的微服务相互作用形成了微服务生态系统。数据中心中的每个主机将资源分配给进程使用,分配过程中需要考虑剩余资源或剩余资源能力。F表示具有足够剩余资源容量的可用节点集。每个节点上的剩余CPU和内存容量分别表示为hicpu_res和himem_res,而CPU和内存利用率分别表示为hicpu_util和himem_util,那么,hiu_res=hiu(1-hiu_util),u∈{cpu,mem}。每个微服务都分配给满足微服务资源要求的可用主机,微服务分配策略决定了部署微服务的数据中心主机,以及主机上放置的微服务。将微服务分配给数据中心主机的问题,可以建模为(0/1)线性约束的二次规划问题,用于确定微服务请求到可行节点的映射。目标是在资源容量限制下,最小化交互的总成本,问题的决策变量表示模块所分配到的节点。如果vi分配在节点hz上,则为1,否则为0。Minimize其中,优化问题旨在减少节点间通信,从而减少用户经历的延迟时间,约束条件给出了对处理和存储器的约束,放置在本文档来自技高网
...

【技术保护点】
1.一种面向云计算的交互感知的容器化微服务资源调度方法,其步骤包括:/n1)生成微服务交互图:获取开发人员编写的应用的负载测试脚本并生成负载,监测微服务间的调用行为并表示为微服务交互图;/n2)计算微服务交互因子:在所述微服务交互图中,使用顶点权重表示微服务的资源需求,边权重表示微服务间的交互次数,所述交互次数为微服务交互因子;/n3)建模微服务放置策略:得到所述交互因子后,使用0/1线性约束的二次规划建模微服务到可用节点的映射,以在资源容量限制下最小化微服务间的通信开销;/n4)部署微服务实例:将满足资源需求的微服务部署到集群中的可用节点,并部署依赖所述微服务的微服务实例到所述可用节点。/n

【技术特征摘要】
1.一种面向云计算的交互感知的容器化微服务资源调度方法,其步骤包括:
1)生成微服务交互图:获取开发人员编写的应用的负载测试脚本并生成负载,监测微服务间的调用行为并表示为微服务交互图;
2)计算微服务交互因子:在所述微服务交互图中,使用顶点权重表示微服务的资源需求,边权重表示微服务间的交互次数,所述交互次数为微服务交互因子;
3)建模微服务放置策略:得到所述交互因子后,使用0/1线性约束的二次规划建模微服务到可用节点的映射,以在资源容量限制下最小化微服务间的通信开销;
4)部署微服务实例:将满足资源需求的微服务部署到集群中的可用节点,并部署依赖所述微服务的微服务实例到所述可用节点。


2.如权利要求1所述的方法,其特征在于,微服务交互图生成方法为:
微服务应用由众多微服务构成,这些微服务相互交互以处理从用户接收的请求,微服务之间的交互表示为无向图加权图G=<V,T,E,D>,其中,V表示微服务组成的顶点集合;T表示由V中与顶点相关联的权重集合,权重表示为<vcpu_req,vmem_req>,vcpu_req表示与所述顶点相关联的计算资源需求,vmem_req表示与所述顶点相关联的内存资源需求;E表示微服务交互的边集合;D表示边权重dij集合,dij表示微服务i和微服务j之间的调用数量,所述调用数量是指微服务i和微服务j在两个方向上交互次数的总和。


3.如权利要求2所述的方法,其特征在于,微服务交互因子计算方法为:
将两个节点vi和vj之间的交互行为定义为所述交互因子cij,其中,微服务vi部署在主机hz,微服务vj部署在节点hw,如果hz和hw是不同的节点则cij=0,否则cij=dij/2。


4.如权利要求3所述的方法,其特征...

【专利技术属性】
技术研发人员:花磊赵安全
申请(专利权)人:苏州博纳讯动软件有限公司
类型:发明
国别省市:江苏;32

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

1