云环境下拓扑感知的微服务应用调度的方法及应用

文档序号:30433812发布日期:2022-06-15 18:16阅读:176来源:国知局
云环境下拓扑感知的微服务应用调度的方法及应用

1.本发明是关于微服务和云原生领域,特别是关于一种云环境下拓扑感知的微服务应用调度的方法及应用。


背景技术:

2.微服务架构作为一种新的应用架构模式,其对高扩展性、高可用性的支持使之成为现代应用设计的一种趋势。微服务架构将复杂的应用程序划分为一组功能单一、松散耦合的独立服务,这些服务可以独立于其他服务或整个应用程序本身进行构建、部署、运行和维护,而不会损害应用程序的完整性。其中,每个功能独立、部署独立的服务都被称为一个微服务。与传统的单体架构相比,微服务架构极大地提高了应用程序的可用性、可移植性、可更新性和可伸缩性。
3.然而,微服务架构的大规模应用也给云数据中心带来了新的挑战。传统的云平台主要面向单体应用进行设计,并基于虚拟化技术实现资源池化,在计算、网络、存储等资源上提供按量付费的服务。而微服务的架构从根本上改变了当前云系统设计时的许多假设,其影响主要包括以下两点:
4.一、资源管理能力不足。微服务对资源的需求具有异构性,除了常见的计算资源和内存资源需求外,许多微服务根据业务的需要,还需要更多维度与更细粒度多资源分配,如内存带宽、图形计算单元(gpu)、专用加速卡等。微服务资源需求的异构性进一步增加了资源管理的复杂性。
5.二、网络成为微服务应用服务质量的瓶颈。微服务应用大量依赖http请求或远程过程调用实现服务间通信,因此相较单体应用,微服务架构应用的端到端响应时延的瓶颈表现在网络上。微服务应用中网络通信时间开销占应用整体时间开销的30%以上,因此从网络上对微服务调度部署进行优化就显得非常必要。
6.目前云数据中心的资源管理系统主要使用一些通用的调度策略,如公平调度策略,其可以保证服务实例能够获取足够的资源,但该策略的缺点是集群资源利用率较低;装箱式的调度策略能够显著提高集群资源利用率,但是这种策略会对应用的服务质量造成一定的影响。更多微服务调度策略的相关研究工作集中在自动扩缩容方法上,这些工作基于微服务所具备的单独扩展能力,使用强化学习或性能预测模型建立资源扩缩容的规则,确定所需调整的资源数,以实现较高的资源利用率。
7.但上述方法都忽略了微服务应用中与集群中存在的拓扑结构,这些拓扑结构是降低微服务应用通信开销的关键,研究具有拓扑感知能力的微服务调度策略有助于提高云环境下微服务应用的性能表现。
8.公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。


技术实现要素:

9.本发明的目的在于提供一种云环境下拓扑感知的微服务应用调度的方法及应用,解决现有集群管理工具中无法充分利用微服务应用、集群拓扑关系的问题。
10.为实现上述目的,本发明的实施例提供了一种云环境下拓扑感知的微服务应用调度的方法。
11.在本发明的一个或多个实施方式中,所述方法包括:根据集群的概要描述信息为集群中的工作节点构建多维资源管理模型;根据微服务应用的概要描述信息和所述多维资源管理模型对所述工作节点执行预部署,并根据资源平衡条件筛选调度节点;以及根据所述微服务应用和所述调度节点的拓扑图获取所述微服务应用的调度结果,并按照所述调度结果执行调度任务。
12.在本发明的一个或多个实施方式中,所述根据集群的概要描述信息为集群中的工作节点构建多维资源管理模型,包括:计算所述工作节点的资源使用率,其中,所述资源包括cpu、内存大小、内存带宽以及显存中的至少两种;根据所述资源利用率构建多维资源管理模型,其中,所述多维资源管理模型用于描述工作节点的资源使用情况。
13.在本发明的一个或多个实施方式中,所述根据资源平衡条件筛选调度节点,包括:在所述微服务应用部署于所述工作节点后,计算所述工作节点的资源使用率;以及遍历所述资源使用率,在所述资源使用率的极差超过平衡度约束时,淘汰对应的工作节点。
14.在本发明的一个或多个实施方式中,根据所述微服务应用和所述调度节点的拓扑图获取所述微服务应用的调度结果,并按照所述调度结果执行调度任务,包括:判断所述微服务应用是否完成调度;若是,根据部署队列中的结果执行部署任务;若否,筛选出待调度工作节点,并对所述待调度工作节点和待调度微服务应用进行拓扑图分割。
15.在本发明的一个或多个实施方式中,所述筛选出待调度工作节点,并对所述待调度工作节点和待调度微服务应用进行拓扑图分割,包括:判断所述工作节点是否为当前最佳调度节点;若是,在所述工作节点上部署待调度的微服务应用,并将部署任务加入部署队列;若否,对所述待调度工作节点和所述待调度微服务应用进行拓扑图分割。
16.在本发明的一个或多个实施方式中,对所述待调度工作节点和所述待调度微服务应用进行拓扑图分割,包括:将所述待调度工作节点拓扑图分割为第一区和第二区,并最小化第一区和第二区之间的通信开销;以及根据所述待调度工作节点拓扑图的分割结果,将所述待调度微服务应用分配到所述第一区和所述第二区。
17.在本发明的一个或多个实施方式中,根据所述待调度工作节点拓扑图的分割结果,将所述待调度微服务应用分配到所述第一区和所述第二区,包括:计算所述待调度微服务应用与不同工作节点分区中已调度微服务应用的通信开销和网络带宽占用比;计算所述待调度微服务应用在不同工作节点分区中的资源碎片率;以及根据所述通信开销、所述网络带宽占用比和所述资源碎片率得到评分,并将所述待调度微服务应用分配至评分高的分区。
18.在本发明的一个或多个实施方式中,所述方法还包括:判断所述工作节点和所述微服务应用的调度是否完全完成,若是,执行部署于所述工作节点的微服务应用。
19.在本发明的另一个方面当中,提供了一种云环境下拓扑感知的微服务应用调度的装置,其包括构建模块、筛选模块和调度模块。
20.构建模块,用于根据集群的概要描述信息为集群中的工作节点构建多维资源管理模型。
21.筛选模块,用于根据微服务应用的概要描述信息和所述多维资源管理模型对所述工作节点执行预部署,并根据资源平衡条件筛选调度节点。
22.调度模块,用于根据所述微服务应用和所述调度节点的拓扑图获取所述微服务应用的调度结果,并按照所述调度结果执行调度任务。
23.在本发明的一个或多个实施方式中,所述构建模块还用于:计算所述工作节点的资源使用率,其中,所述资源包括cpu、内存大小、内存带宽以及显存中的至少一种;根据所述资源利用率构建多维资源管理模型,其中,所述多维资源管理模型用于描述工作节点的资源使用情况。
24.在本发明的一个或多个实施方式中,所述筛选模块还用于:在所述微服务应用部署于所述工作节点后,计算所述工作节点的资源使用率;以及遍历所述资源使用率,在所述资源使用率的极差超过平衡度约束时,淘汰对应的工作节点。
25.在本发明的一个或多个实施方式中,所述调度模块还用于:判断所述微服务应用是否完成调度;若是,根据部署队列中的结果执行部署任务;若否,筛选出待调度工作节点,并对所述待调度工作节点和待调度微服务应用进行拓扑图分割。
26.在本发明的一个或多个实施方式中,所述调度模块还用于:判断所述工作节点是否为当前最佳调度节点;若是,在所述工作节点上部署待调度的微服务应用,并将部署任务加入部署队列;若否,对所述待调度工作节点和所述待调度微服务应用进行拓扑图分割。
27.在本发明的一个或多个实施方式中,所述调度模块还用于:将所述待调度工作节点拓扑图分割为第一区和第二区,并最小化第一区和第二区之间的通信开销;以及根据所述待调度工作节点拓扑图的分割结果,将所述待调度微服务应用分配到所述第一区和所述第二区。
28.在本发明的一个或多个实施方式中,所述调度模块还用于:计算所述待调度微服务应用与不同工作节点分区中已调度微服务应用的通信开销和网络带宽占用比;计算所述待调度微服务应用在不同工作节点分区中的资源碎片率;以及根据所述通信开销、所述网络带宽占用比和所述资源碎片率得到评分,并将所述待调度微服务应用分配至评分高的分区。
29.在本发明的一个或多个实施方式中,所述调度模块还用于:判断所述工作节点和所述微服务应用的调度是否完全完成,若是,执行部署于所述工作节点的微服务应用。
30.在本发明的另一个方面当中,提供了一种电子设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的云环境下拓扑感知的微服务应用调度的方法。
31.在本发明的另一个方面当中,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如所述的云环境下拓扑感知的微服务应用调度的方法的步骤。
32.与现有技术相比,根据本发明实施方式的云环境下拓扑感知的微服务应用调度的方法及应用,其能够基于微服务应用和集群的概要描述构建集群工作节点的多维资源管理模型,并将其应用于拓扑感知的微服务应用调度策略中,最终为微服务应用中的所有微服
务寻找出合适的工作节点进行部署;还能够在提供拓扑感知的微服务应用调度时,以应用整体视角对其所包含的所有微服务进行综合考量,基于微服务应用、集群的拓扑关系与可用资源的约束计算调度结果,在保障集群整体资源利用率的同时降低微服务应用之间的通信成本,提高服务质量。
附图说明
33.图1是根据本发明一实施方式的云环境下拓扑感知的微服务应用调度的方法的总体流程图;
34.图2是根据本发明一实施方式的云环境下拓扑感知的微服务应用调度的方法的调度算法流程图;
35.图3是根据本发明一实施方式的云环境下拓扑感知的微服务应用调度的方法的典型云环境下集群的概要描述抽象示意图;
36.图4是根据本发明一实施方式的云环境下拓扑感知的微服务应用调度的方法的典型微服务应用的概要描述抽象示意图;
37.图5是根据本发明一实施方式的云环境下拓扑感知的微服务应用调度的装置的结构图;
38.图6是根据本发明一实施方式的云环境下拓扑感知的微服务应用调度的计算设备的硬件结构图。
具体实施方式
39.下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
40.除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
41.以下结合附图,详细说明本发明各实施例提供的技术方案。
42.实施例1
43.如图1至图4所示,介绍本发明的一个实施例中云环境下拓扑感知的微服务应用调度的方法,该方法包括如下步骤。
44.在步骤s101中,根据集群的概要描述信息为集群中的工作节点构建多维资源管理模型。
45.典型的容器编排集群的网络拓扑可以抽象描述为图3所示的树型拓扑,该树型拓扑结构由多个层级组成,其中树型结构的顶点表示可用区,其下的一层为汇聚层,其中rack表示汇聚层的机架设施,机架之间通过汇聚层交换机与核心交换机相连;下一个层级是物理机层级,使用符号pm表示物理机层所有物理机的集合,物理机之间通过接入层交换机相连接;再下层表示虚拟机层,使用符号vm表示虚拟机层所有虚拟机的集合,虚拟机vm∈vm构成了微服务运行的环境;树型拓扑的叶子节点即为微服务ms,微服务ms由容器编排系统调度到对应的虚拟机vm上。
46.通过概要描述可以准确的定义集群中各工作节点的资源情况以及各工作节点之
间的通信状况。基于拓扑感知思想,本实施例旨在基于物理集群的资源和网络环境,充分地优化服务间的资源使用率和通信成本。
47.具体的,计算各工作节点包括cpu、内存大小、内存带宽、显存在内的多种资源的利用使用率;综合各维度资源使用率构建多维资源管理模型,对工作节点的资源使用情况进行统一描述。
48.在步骤s102中,根据微服务应用的概要描述信息和多维资源管理模型对工作节点执行预部署,并根据资源平衡条件筛选调度节点。
49.对微服务应用的概要模型使用元组《ms,ms_dep》进行表示,微服务应用中包含多个微服务组合对外提供服务。符号ms表示微服务应用中包含的所有微服务的集合,其总数量为m;符号ms_dep用来描述微服务应用中的拓扑依赖,ms_dep的集合中包含了dag图中所有边的信息。
50.例如微服务msi与msj间存在调用,可使用(msi,msj,trans
ij
)∈ms_dep进行描述,(msi,msj,trans
ij
)中msi表示调用的发起方,msj表示调用的响应方,调用链路中的通信量使用trans
ij
进行表示。
51.对微服务的概要描述中不仅包括微服务的拓扑结构图,还包括对每个微服务构建的多维资源需求模型,该模型定义了单个微服务的资源需求。对于待调度的微服务应用(msi,reqi)∈ms,使用reqi描述微服务msi的物理资源(包括计算需求、内存需求、存储需求等)的需求。
52.具体的,计算微服务部署于某一工作节点后的资源使用状况;遍历各维度资源使用率,若资源使用率之间的极差超过平衡度约束,则淘汰该工作节点,以获取适合调度的工作节点集合。
53.本实施例中,云环境下拓扑感知调度算法基于集群概要描述信息和微服务应用的概要描述信息进行决策,对工作节点建立多维资源管理模型,支持对异构微服务的均衡调度,提高了集群的资源利用率。
54.在步骤s103中,根据微服务应用和调度节点的拓扑图获取微服务应用的调度结果,并按照调度结果执行调度任务。
55.对于微服务应用中存在的调用拓扑,拓扑感知调度策略使用一种启发式的图分割算法,完成微服务拓扑与云数据中心拓扑之间的拓扑映射,该方法能够有效降低微服务应用的网络开销和网络争用,优化微服务应用的响应时延和吞吐量表现。
56.具体的,判断待调度的微服务是否完成调度,若是,则按照部署队列中的结果执行部署任务,若否,则判断该工作节点是否为当前最佳调度节点,若是,则选定将待调度微服务部署于该工作节点,并将部署任务加入部署队列;若否,则执行图分割算法。
57.对待调度工作节点拓扑图执行分割算法,分割算法将工作节点拓扑图分割为两部分,并最小化两部分之间的通信开销;对待调度微服务拓扑图执行分割算法,分割算法按照对工作节点的分割结果,将待调度的微服务分配到两块工作节点分区中,分配的依据包括:节点资源碎片率、服务间通信开销、网络带宽争用程度。基于微服务间的拓扑关系,首先计算待调度微服务与不同工作节点分区中已调度微服务的通信开销与网络带宽占用比,并计算该微服务在不同工作节点分区中的资源碎片率,综合三者代入评分函数,该函数对三个值进行加权平均计算,微服务将被分配到评分更高的分区。
58.策略以微服务应用为单位执行调度和部署,当调度阶段完全完成后,才执行部署,以防止资源受限情况下,部分部署的微服务无法提供完整的应用服务而造成资源浪费的现象。
59.云环境下拓扑感知的微服务应用调度策略实质上是提供一种基于资源管理模型和图分割的服务调度算法,以实现当需要完成一组多个微服务的微服务应用调度时,且在一定资源条件限制下,选择一些工作节点承载微服务,使其能够正常对外提供服务。
60.为了更好的理解本发明的技术方案,以下结合具体的应用场景对本发明做进一步说明。
61.多维资源管理模型中首先需要节点各维度资源的使用情况进行定量描述,对于单一资源维度的资源利用率,使用γ表示:
[0062][0063]
其中,使用exist
i,x
来描述服务是否会部署于某一工作节点上,其中x表示该服务预部署于工作节点n
x
,d表示资源的维度,工作节点n
x
的各维度资源使用率可以描述为γd(1≤d≤d)。
[0064]
对于工作节点n
x
而言,任意一种资源耗尽都会导致该节点进入一种不可调度的状态,此时该节点尚存的未被分配的其他资源即形成了资源碎片σ
x

[0065][0066]
其中,r
x
用来表示各维度资源利用率的加权平均和。
[0067][0068]
对不同资源设置不同权重的意义在于,部分资源可以接受一定程度的“超售”,即所分配的资源可以超过该资源的最大可用值(如cpu),而另外存在部分资源面对资源窘迫时会严重影响服务的状态,如当内存资源不足时,会触发内存用尽而引起宕机,而当带宽资源受限时,并不会导致服务不可用,只会导致请求时延的增加与服务质量的下降。
[0069]
资源碎片的大小反映了工作节点资源分配的合理程度,当工作节点达到最大承载量时,其上存在未被利用的资源碎片越小,就意味着该工作节点的资源分配更合理,一定程度上能够证明节点能够实现更高的利用率。本发明调度算法的核心目的是减少计算节点上各类资源碎片的产生,使无法被应用利用的资源碎片的大小处于一个可接受的范围之内,因此对集群整体资源碎片的数学模型定义如公式(4)所示:
[0070][0071]
在实际场景中,集群中部分工作节点的资源碎片率过大,导致节点上某一类或几类资源过早耗尽,将这种情景称为资源失衡,使用资源利用率的极差对集群平衡度进行定义。
[0072]
考虑微服务应用中大量存在的网络调用是影响服务性能的关键所在,微服务应用
中各服务通信的开销由待调度微服务应用的拓扑结构和集群的物理拓扑结构共同决定。对于产生调用关系的上下游微服务而言,其在物理拓扑中的距离越近,相应的通信开销也就越低。因此,微服务应用中的网络通信开销可以被形式化地描述为:
[0073][0074]
cost(ms)中对应用中各条微服务依赖关系进行分析,对每种调用产生的开销进行累加和计算,最终对全链路通信开销求和,即为微服务应用的总通信开销。由于集群基础设施呈现树型的拓扑结构,因此在计算微服务通信开销时,需要考虑两个微服务所处工作节点之间的最短通信路径,将该路径记作link
ij
,由于图4所示各条链路的开销有所区别,因此link
ij
中包含多个自路径,需要对各自路径的链路开销进行求和,才是微服务调用产生的通信开销。
[0075]
影响微服务应用网络通信质量的不仅有链路上的通信开销,链路上的可用带宽同样会影响应用的服务质量,由于微服务之间通信流量并不总维持在一个定值,而是随着请求并发数变化而不断波动的,在本实施例中,使用其波峰值的90%作为参考。因此在预分配链路带宽的过程中,需要考虑其他应用对服务造成的干扰,对于这种带宽干扰,将其定义为:
[0076][0077]
当服务所需带宽占链路可用带宽的比例越小时,其他应用对该服务通信造成影响的可能性也就越低,而同样考虑集群的物理拓扑结构,对带宽干扰的计算需要考虑调用链路上经过对所有链路,其累加和定义为该微服务应用将承担的总干扰inter(ms)。
[0078]
考虑大规模分布式集群环境下的微服务容器调度问题,调度器需要保证尽可能高的资源利用率以降低集群的运作成本。但单纯以提高资源利用率为目标而设计的调度策略往往会导致微服务容器的放置过于拥塞,并导致微服务应用的服务质量受资源争用的影响而下降。
[0079]
对于微服务应用中包含的多个微服务,调度器通常对其串行的执行调度逻辑,即在同一时刻,只为一个微服务实例分配工作节点,当分配完成后才考虑下一个。因此面向集群全局要求实现的高资源利用率和高服务质量的目标,也就转换为了对单个微服务的调度而言,要实现低碎片率、低通信开销和低网络争用。根据上述对三个目标的定义,建立一个多目标优化的模型,模型模拟单个微服务调度的情况,要求实现三个目标的同时优化。
[0080]
min frag(n)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0081]
min cost(ms)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0082]
min inter(ms)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)
[0083]
公式(7)~(9)描述了微服务部署的目标,这三个表达式侧重于描述单个微服务部署对节点资源带来的影响,评估单个微服务与其上游微服务产生的通信开销和网络干扰,
分别表示三个目标的优化:最小化工作节点碎片率、最小化微服务间的网络传输开销,最小化网络干扰。
[0084][0085][0086][0087][0088][0089]
公式(10)~(14)为优化模型的约束条件。其中公式(10)为工作节点的资源约束,公式(11)为可用带宽的约束,公式(12)描述服务实例在工作节点上的部署情况,exist
i,x
表示微服务msi部署于工作节点n
x
上。
[0090]
公式(13)中的符号t定义为节点n
x
预部署状态下各维度资源使用率之间的极差,极差的设置值过低会导致工作节点经常陷入无法调度的状态,设置过高则会导致对碎片容忍程度过大,最终资源利用率过低,在本实施例中,极差t设置为0.8,在工作节点可用性和资源使用率保障之间取一个权衡值。公式(14)限制同一微服务只能有一个实例。
[0091]
通过上述实施方式,实现了云环境下微服务调度问题的建模与形式化,并进一步提出了一种基于拓扑感知的微服务调度策略,通过递归不断对工作节点集合进行二分,划分出不同的网络分区,最终确定微服务的放置位置。在对工作节点的划分中,考虑了工作节点间的物理链路数和通信代价,旨在减少不同网络分区之间的通信开销。算法对物理拓扑进行分割,在处理最小分割的基础上增加了对链路通信成本的考量,要求划分线经过的边具有最小的链路通信成本。但由于工作节点的拓扑结构是典型的树型结构,因此在使用该算法对工作节点的分割过程中,往往会导致节点集合被划分成“单点-集合”的形式,因此在微服务拓扑结构的划分中,还加入了对资源使用率的考量,保证单点部署情况下,依然不会违反资源平衡分配的原则。
[0092]
如图5所示,介绍根据本发明具体实施方式的云环境下拓扑感知的微服务应用调度的装置。
[0093]
在本发明的实施方式中,云环境下拓扑感知的微服务应用调度的装置包括构建模块501、筛选模块502和调度模块503。
[0094]
构建模块501,用于根据集群的概要描述信息为集群中的工作节点构建多维资源管理模型。
[0095]
筛选模块502,用于根据微服务应用的概要描述信息和多维资源管理模型对工作节点执行预部署,并根据资源平衡条件筛选调度节点。
[0096]
调度模块503,用于根据微服务应用和调度节点的拓扑图获取微服务应用的调度结果,并按照调度结果执行调度任务。
[0097]
构建模块501还用于:计算工作节点的资源使用率,其中,资源包括cpu、内存大小、内存带宽以及显存中的至少两种;根据资源利用率构建多维资源管理模型,其中,多维资源管理模型用于描述工作节点的资源使用情况。
[0098]
筛选模块502还用于:在微服务应用部署于工作节点后,计算工作节点的资源使用率;以及遍历资源使用率,在资源使用率的极差超过平衡度约束时,淘汰对应的工作节点。
[0099]
调度模块503还用于:判断微服务应用是否完成调度;若是,根据部署队列中的结果执行部署任务;若否,筛选出待调度工作节点,并对待调度工作节点和待调度微服务应用进行拓扑图分割。
[0100]
调度模块503还用于:判断工作节点是否为当前最佳调度节点;若是,在工作节点上部署待调度的微服务应用,并将部署任务加入部署队列;若否,对待调度工作节点和待调度微服务应用进行拓扑图分割。
[0101]
调度模块503还用于:将待调度工作节点拓扑图分割为第一区和第二区,并最小化第一区和第二区之间的通信开销;以及根据待调度工作节点拓扑图的分割结果,将待调度微服务应用分配到第一区和第二区。
[0102]
调度模块503还用于:计算待调度微服务应用与不同工作节点分区中已调度微服务应用的通信开销和网络带宽占用比;计算待调度微服务应用在不同工作节点分区中的资源碎片率;以及根据通信开销、网络带宽占用比和资源碎片率得到评分,并将待调度微服务应用分配至评分高的分区。
[0103]
调度模块503还用于:判断工作节点和微服务应用的调度是否完全完成,若是,执行部署于工作节点的微服务应用。
[0104]
图6示出了根据本说明书的实施例的用于云环境下拓扑感知的微服务应用调度的计算设备60的硬件结构图。如图6所示,计算设备60可以包括至少一个处理器601、存储器602(例如非易失性存储器)、内存603和通信接口604,并且至少一个处理器601、存储器602、内存603和通信接口604经由总线605连接在一起。至少一个处理器601执行在存储器602中存储或编码的至少一个计算机可读指令。
[0105]
应该理解,在存储器602中存储的计算机可执行指令当执行时使得至少一个处理器601进行本说明书的各个实施例中以上结合图1-6描述的各种操作和功能。
[0106]
在本说明书的实施例中,计算设备60可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备等等。
[0107]
根据一个实施例,提供了一种比如机器可读介质的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-6描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
[0108]
根据本发明实施方式的云环境下拓扑感知的微服务应用调度的方法及应用,其能够基于微服务应用和集群的概要描述构建集群工作节点的多维资源管理模型,并将其应用于拓扑感知的微服务应用调度策略中,最终为微服务应用中的所有微服务寻找出合适的工作节点进行部署;还能够在提供拓扑感知的微服务应用调度时,以应用整体视角对其所包
含的所有微服务进行综合考量,基于微服务应用、集群的拓扑关系与可用资源的约束计算调度结果,在保障集群整体资源利用率的同时降低微服务应用之间的通信成本,提高服务质量。
[0109]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0110]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0111]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0112]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0113]
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1