CN115190121B - 基于跨地域的微服务过量负载调度系统、方法及设备 - Google Patents
基于跨地域的微服务过量负载调度系统、方法及设备 Download PDFInfo
- Publication number
- CN115190121B CN115190121B CN202210583583.XA CN202210583583A CN115190121B CN 115190121 B CN115190121 B CN 115190121B CN 202210583583 A CN202210583583 A CN 202210583583A CN 115190121 B CN115190121 B CN 115190121B
- Authority
- CN
- China
- Prior art keywords
- micro
- service
- services
- data center
- resource
- 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
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000013508 migration Methods 0.000 claims description 31
- 230000005012 migration Effects 0.000 claims description 31
- 238000005457 optimization Methods 0.000 claims description 19
- 238000004891 communication Methods 0.000 claims description 14
- 238000013468 resource allocation Methods 0.000 claims description 14
- 238000005070 sampling Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 7
- 230000001174 ascending effect Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 238000007726 management method Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000012546 transfer Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/148—Migration or transfer of sessions
Abstract
本发明提供一种基于跨地域的微服务过量负载调度系统、方法及设备,所述基于跨地域的微服务过量负载调度系统包括:竞争感知的资源管理器,于本地数据中心为每个微服务分配资源量;基于奖励的微服务迁移器,当本地数据中心微服务负载过量时,选择并迁移多个微服务到远程数据中心。本发明在无需对于微服务应用进行代码修改的情况下,既可以保证微服务应用服务质量(Quality of Service,QoS),又可以最小化应用总资源和远程数据中心计算资源使用量。
Description
技术领域
本发明涉及新一代信息技术领域,特别是涉及云计算技术领域。
背景技术
随着云计算的发展,具有严格的QoS的面向用户的应用程序通常部署在专用数据中心,以获得高性能和可伸缩性。目前,著名的服务提供商和云提供商通常在不同的地域建立多个数据中心,应用程序则通常部署在接近终端用户的数据中心以获得更低的响应延迟。对于面向用户的应用程序,除了常规的日负载模式,除了高峰时间,负载都很低外,偶尔还会出现不可预测的极高负载情况。例如,购物节期间的电子商务服务、突发新闻发生时的社交网络服务会出现了过量的查询请求。在这期间,某个地域的数据中心的计算能力往往无法满足这些过量负载,从而导致应用程序经常遇到严重的QoS违反。
在托管应用的数据中心中增加服务器可以解决应用负载过量的问题。但对于偶尔出现的负载过量情况,该方法显著增加了运维成本。另一个解决方案是利用远程数据中心提供所需的计算能力。特别地,许多面向用户的应用程序已经从单体软件体系架构转向了微服务体系架构。在微服务体系结构中,复杂的应用程序是通过许多解耦的微服务连接来实现的,这些服务可以独立部署,并通过网络互相交互。相比于在本地数据中心增加服务器,在远程数据中心上部署必要的微服务,可以得到更高的资源效率。
图1展示了一个使用远程数据中心来支持基于微服务架构应用程序在过量负载时的部署示例。正如所观察到的,高效的跨数据中心调度需要:(1)高效地使用本地数据中心有限的计算资源;(2)恰当地确定迁移到远程数据中心的微服务;以及(3)尽量减少远程数据中心的资源使用。之前有一些微服务资源管理的工作,以确保具有日负载模式的应用程序QoS。但是,之前的工作会假设本地数据中心对于应用程序具有充足的计算能力。在这种假设的情况下,服务器通过具有高带宽的局域网络连接,它们只需使用Kubernetes来部署微服务。
与数据中心内部的微服务调度相比,跨地域数据中心调度微服务具有两个新的挑战需要解决。首先,数据中心之间的公网带宽和延迟比数据中心内部的局域网络要差得多。由于微服务之间频繁的数据通信,微服务在跨地域数据中心之间的合理放置尤为重要。其次,不同微服务被分配相同数量的资源(CPU、内存等)时,会表现出不同的性能(吞吐量和延迟)。在本地数据中心发生负载峰值时,确定恰当的微服务迁移到远程数据中心是一项新的挑战。
现有技术一使用启发式规则、机器学习等方法,主要解决在同一数据中心内部,如何进行微服务的资源管理问题,其主要思想是在负载变化时,首先确定关键微服务,之后使用机器学习方法对于关键微服务的资源分配进行重新调整。现有技术一的主要缺点在于,没有考虑跨地域数据中心环境中公网对于微服务资源管理和部署的影响,当应用于跨地域数据中心场景中,会造成QoS违反和低资源效率。
现有技术二采用图分割算法、机器学习算法,结合启发式策略,解决计算任务在云边环境中的资源管理和部署问题,其主要思想是利用机器学习算法决策微服务的资源量,并在运行时对于云边节点进行负载均衡。现有技术二的主要缺点在于其没有在综合考虑公网限制多种因素的前提下,考虑如何最大限度利用本地数据中心的资源,同时最小化远程资源使用,当应用于过量负载场景中,资源效率低下。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于跨地域的微服务过量负载调度系统、方法及设备,用于在微服务应用出现过量负载时,确保微服务应用的QoS和吞吐目标,同时提高本地数据中心的资源利用率,并减少远程数据中心资源使用。
为实现上述目的及其他相关目的,本发明提供一种基于跨地域的微服务过量负载调度系统,包括:竞争感知的资源管理器,于本地数据中心为每个微服务分配资源量;基于奖励的微服务迁移器,当本地数据中心微服务负载过量时,选择并迁移多个微服务到远程数据中心。
于本发明的一实施例中,于所述竞争感知的资源管理器中配置微服务的请求流为有向无环图;所述有向无环图的每个顶点表示微服务,每条边表示微服务之间的通信;所述有向无环图的各顶点分别配置有表示对应微服务的服务时间的权重,所述有向无环图的边分别配置有表示对应微服务之间的数据传输时间的权重。
于本发明的一实施例中,所述于本地数据中心为每个微服务分配资源量包括:根据时间间隔内的执行时间对不同路径进行升序排序,并对于在最短路径上的微服务进行资源调整;对于相同路径上的微服务,根据微服务的性能进行排序,并根据性能排序调整微服务的资源调整优先级。
于本发明的一实施例中,所述于本地数据中心为每个微服务分配资源量还包括:为每个微服务配置一个预先训练的贝叶斯优化模型,以找到其接近最优的资源分配;其中,所述贝叶斯优化模型首先采用初始样本拟合代理模型,对资源调整优化进行建模,然后采用采集函数迭代选择下一个资源采样点,并通过一评分函数对对所述资源采样点进行打分,最后根据新采样的数据更新代理模型,形成所述贝叶斯优化模型。
于本发明的一实施例中,所述基于奖励的微服务迁移器对于每个要迁移的微服务,使用分阶段延迟百分比和延迟变异系数的乘积,得出每个微服务的潜在性能增益,并基于所述微服务的潜在性能增益、由网络带宽限制导致的网络开销以及由网络时延引起的网络成本获取迁移微服务到远程数据中心的奖励。
于本发明的一实施例中,所述迁移微服务到远程数据中心的奖励为:其中,rewardk为迁移微服务到远程数据中心的奖励,Perfk为微服务的潜在性能增益, cost_netk为总公有网络通信开销,cost_netk=cost_bandk+cost_rttk,cost_bandk为由网络带宽限制导致的网络开销,cost_rttk为由网络时延引起的网络成本。
于本发明的一实施例中,所述当本地数据中心微服务负载过量时,选择并迁移多个微服务到远程数据中心包括:当监测器识别到本地数据中心负载过量时,获取每个迁移微服务到远程数据中心的奖励,并依次迁移奖励最高的微服务,直到本地资源足够承担剩余的微服务。
于本发明的一实施例中,所述当本地数据中心微服务负载过量时,选择并迁移多个微服务到远程数据中心还包括:当监测器监测到本地数据中心有多余的资源来容纳微服务时,依次从远程数据中心迁移奖励最低的微服务,直到本地资源不能法承担来自远程数据中心的微服务或者所述远程数据中心所有微服务均已迁移回本地数据中心。
为实现上述目的及其他相关目的,本发明还提供一种微服务过量负载调度方法,包括:于本地数据中心为每个微服务分配资源量;当本地数据中心微服务负载过量时,选择并迁移多个微服务到远程数据中心。
为实现上述目的及其他相关目的,本发明还提供一种电子设备,包括如上所述的基于跨地域的微服务过量负载调度系统。
如上所述,本发明的基于跨地域的微服务过量负载调度系统、方法及设备具有以下有益效果:
1、本发明在无需对于微服务应用进行代码修改的情况下,既可以保证微服务应用服务质量(Quality of Service,QoS),又可以最小化应用总资源和远程数据中心计算资源使用量。
2、本发明的成果可以为云数据中心中微服务应用峰值拓展的部署技术落地提供支持,可以构建具有商业意义的、基于跨地域数据中心的微服务峰值拓展系统,在保证用户服务质量的同时,面向云提供商提供总体应用部署成本的优化。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1显示为现有技术中在过量负载时跨地域数据中心部署微服务应用的示意图;
图2显示为本申请一实施例中的基于跨地域的微服务过量负载调度系统的原理框图;
图3显示为本申请一实施例中的基于跨地域的微服务过量负载调度系统的架构图;
图4显示为本申请一实施例中的基于跨地域的微服务过量负载调度系统中竞争感知的资源管理器的原理示意图;
图5显示为本申请一实施例中的基于跨地域的微服务过量负载调度系统中最小化资源迁移策略示意图;
图6显示为本申请一实施例中的基于跨地域的微服务过量负载调度系统的实施过程示意图;
图7显示为本申请一实施例中的基于跨地域的微服务过量负载调度方法中模型量化器的功能流程图;
图8显示为本申请一实施例中的电子设备的原理框图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
本实施例的目的在于提供一种基于跨地域的微服务过量负载调度系统、方法及设备,用于在微服务应用出现过量负载时,确保微服务应用的QoS和吞吐目标,同时提高本地数据中心的资源利用率,并减少远程数据中心资源使用。
本实施例中基于跨地域数据中心的微服务过量负载调度系统和方法包括:基于最优化目标和约束的竞争感知资源管理器,为不同的微服务找到接近最优的计算资源配置;监控本地数据中心的负载变化,在运行时发现本地资源无法承担过量负载时,基于奖励的微服务迁移器将一部分微服务迁移到远程数据中心,在缓解本地过量负载的同时,最小化远程数据中心的计算资源使用。本实施例可以解决负载过量时微服务的跨地域部署及资源管理问题,以确保微服务应用出现负载过量时所需的服务质量目标,同时最大限度地减少应用总资源和远程数据中心的资源使用。
以下将详细阐述本发明的基于跨地域的微服务过量负载调度系统、方法及设备的原理及实施方式,使本领域技术人员不需要创造性劳动即可理解本发明的基于跨地域的微服务过量负载调度系统、方法及设备。
实施例1
如图2所示,本实施例提供一种基于跨地域的微服务过量负载调度系统,包括:竞争感知的资源管理器和基于奖励的微服务迁移器。
即本实施例的基于跨地域的微服务过量负载调度系统由竞争感知的资源管理器和基于奖励的微服务迁移器两部分组成。所述基于跨地域的微服务过量负载调度系统的核心是在微服务应用出现过量负载时,在跨地域数据中心环境中,高效地进行微服务部署和资源管理,可以在微服务应用出现过量负载时,确保微服务应用的QoS和吞吐目标,同时提高本地数据中心的资源利用率,并减少远程数据中心资源使用。
图3显示了基于跨地域的微服务过量负载调度系统的架构图,所述基于跨地域的微服务过量负载调度系统包括一个竞争感知的资源管理器和一个基于奖励的微服务迁移器,用于在本地和远程数据中心之间迁移微服务并进行资源分配。资源管理器为每个微服务分配刚好足够的资源(例如,CPU、内存、LLC和网络带宽),以便本地数据中心能够在不违反QoS和吞吐量目标的情况下最大化可以支持的吞吐量。当微服务应用负载过量时,微服务迁移器选择并迁移一些微服务到远程数据中心,以确保所需的QoS和吞吐。具体来说,本实施例的基于跨地域的微服务过量负载调度系统通过三个步骤实现:
(1)系统定期监控应用的负载,竞争感知的资源管理器根据上一个周期的负载调整分配给每个微服务的资源量。当负载相对较高时,同一数据中心上的微服务往往会争夺资源,竞争感知的资源管理器会确定微服务图中的关键路径,并将一些资源从其他微服务分配到关键路径上的微服务,从而避免出现性能瓶颈。
(2)如果竞争感知的资源管理器发现本地数据中心无法承载过量的负载,基于奖励的微服务迁移器会将一些微服务迁移到远程数据中心。由于迁移微服务的效果受到微服务性能敏感性和公网数据传输开销的影响,基于奖励的微服务迁移器定义了一个迁移奖励来量化迁移微服务的好处,以选择恰当的微服务进行迁移。
(3)当应用的负载下降后,基于奖励的微服务迁移器会将一些微服务迁移回本地数据中心,以消除由于公网造成的长通信时间并减少远程资源的使用。
以下对本实施例的竞争感知的资源管理器和基于奖励的微服务迁移器进行详细说明。
于本实施例中,所述竞争感知的资源管理器于本地数据中心为每个微服务分配资源量。
考虑到本地数据中心资源量有限,所述竞争感知的资源管理器的目标为最大化利用本地计算资源,其利用贝叶斯优化来调整每个微服务的资源分配。本实施例中所述竞争感知的资源管理器设计关键点在于:(1)在正常负载下,确保QoS目标的同时,尽量减少资源使用; (2)在过量负载下,有效利用资源,以实现尽可能高的峰值吞吐量。
于本实施例中,如图4所示,于所述竞争感知的资源管理器中配置微服务的请求流为有向无环图;所述有向无环图的每个顶点表示微服务,每条边表示微服务之间的通信;所述有向无环图的各顶点分别配置有表示对应微服务的服务时间的权重,所述有向无环图的边分别配置有表示对应微服务之间的数据传输时间的权重。
于本实施例中,微服务的请求流可以抽象为有向无环图,每个顶点表示微服务,每条边表示微服务之间的通信。顶点和边都是有权重的,分别表示对应微服务的服务时间和微服务之间的数据传输时间。从源顶点到终顶点可能有多条路径,不同的路径会经过不同的顶点,代表不同的微服务。权重和最大的路径被定义为关键路径,关键路径的延迟总和是该应用的总延迟。在跨地域数据中心中,微服务之间的数据传输时间对整体性能有很大的影响,特别是在负载超过本地数据中心容量的情况下。
于本实施例中,如图4所示,所述于本地数据中心为每个微服务分配资源量包括:根据时间间隔内的执行时间对不同路径进行升序排序,并对于在最短路径上的微服务进行资源调整;对于相同路径上的微服务,根据微服务的性能进行排序,并根据性能排序调整微服务的资源调整优先级。
考虑到本地数据中心的计算量有限,需要为每个微服务提供恰好够用的资源,以实现尽可能高的本地吞吐量。为每个微服务根据执行特性设定QoS目标,并单独进行资源分配。在这个过程中,微服务的资源调整顺序对应用的整体性能至关重要,因为后调整的微服务只能使用本地数据中心中剩余的资源,本实施例提出了一种基于两个步骤的微服务资源调整排序策略。
第一步:分析微服务应用每条路径的关键性。由于在关键路径上的微服务不太可能被过度分配资源,因此给予不在关键路径上的微服务更高的资源调整优先级。因此,根据上个时间间隔内的执行时间对不同路径进行升序排序,并首先对于在最短路径上的微服务进行资源调整。
第二步:分析同一路径上不同微服务的性能。对于同路径上的微服务,同样应该给予性能较好的微服务更高的资源调整优先级,因为其可能会释放更多的资源以补偿性能较差的微服务。
在以上两个步骤之后,最终得到应用中所有微服务的资源调整顺序,之后开始按序进行资源调整。
本实施例中,竞争感知的资源管理器会按照以下两个原则对资源进行调整:
(1)对于满足QoS目标的微服务,在不降低QoS的情况下,竞争感知的资源管理器会降低其资源分配,以释放部分资源。
(2)对于QoS违反的微服务,竞争感知的资源管理器将试图使用本地数据中心的可用余量来分配其更多的资源。从本质上讲,每个微服务的资源调整可以定义为一个优化问题,即:在保证QoS的前提下最小化资源使用。
为了解决微服务资源配置多维搜索空间问题,本实施例使用了贝叶斯优化方法,其不需要任何关于目标函数的先验知识,可以在有限数量的采样中找到接近最优解,并且可以将资源配置和微服务性能之间的关系建模为一个黑盒函数。
于本实施例中,所述于本地数据中心为每个微服务分配资源量还包括:为每个微服务配置一个预先训练的贝叶斯优化模型,以找到其接近最优的资源分配。即本实施例为每个微服务训练了一个单独的贝叶斯优化模型,以找到其接近最优的资源分配,这对于长时间运行的服务是合理的。
其中,所述贝叶斯优化模型首先采用初始样本拟合代理模型,对资源调整优化进行建模,然后采用采集函数迭代选择下一个资源采样点,并通过一评分函数对对所述资源采样点进行打分,最后根据新采样的数据更新代理模型,形成所述贝叶斯优化模型。
即本实施例中贝叶斯算法首先使用初始样本拟合代理模型,对资源调整优化问题进行建模,然后使用采集函数迭代选择下一个采样点,并根据新采样的数据更新代理模型。在本发明中,采用高斯过程(Gaussian Process,GP)作为代理模型,其对噪声和抖动具有鲁棒性。为了对目标函数进行评价,设计了一个归一化的评分函数,对资源采样点进行打分。在这个打分函数中,如果QoS或者吞吐量不满足目标,则分数在0-0.5之间,分数大小与满足目标的程度成正比;当QoS和吞吐目标都满足时,分数在0.5-1之间,微服务的资源使用量越小,则分数越高。在这种定义下,使得在确保QoS和吞吐量目标后,再尽量减少微服务的资源使用。此外,本实施例采用了期望提升(Expected Improvement,EI)函数来在每次迭代中选择下一个采样点,该函数的收敛速度较快,并且对于复杂任务十分有效。
具体地,对于每个时间间隔,采集函数决定下一个被采样的配置点。在选定的配置点下采样相应的性能指标。然后,使用打分函数来评估这个资源配置点,并使用这个新采样点来更新代理模型。这个过程迭代地进行,直到EI收敛结束。
于本实施例中,所述基于奖励的微服务迁移器用于当本地数据中心微服务负载过量时,选择并迁移多个微服务到远程数据中心。
当负载过量时,本地数据中心可能无法提供足够的资源。本实施例设计了一个基于奖励的微服务迁移器,用于处理本地数据中心的过量负载。基于奖励的微服务迁移器可以将一些微服务迁移到远程数据中心,以减轻本地数据中心的负担。本实施例首先考虑了微服务的潜在性能增益和公有网络通信成本,并定义了微服务迁移的奖励。然后,本实施例提出一种最小资源迁移策略来迁移微服务,以实现应用的总资源使用和远程资源使用都最小化的目标。
迁移具有更高潜在性能收益的微服务更有可能提高整体性能。当负载过大时,本地数据中心会出现不同情况的资源短缺,如CPU或LLC。不同的微服务对资源短缺的敏感程度不同,因为它们的资源需求特征不同。在迁移到具有足够资源的远程数据中心后,可以获得不同的性能提升。之前的工作已经表明,具有更高延迟比例和延迟变异性的微服务表现出更高的潜力来提高整体性能。因此,对于每个要迁移的微服务,本实施例使用分阶段延迟百分比和延迟变异系数(coefficient of variation,CV)的乘积,得出每个微服务的潜在性能增益为 Perfk。
迁移造成更低的公网通信成本的微服务有利于提升整体性能。来自公网的网络开销会损害QoS,主要来自两个方面:公网带宽限制和RTT。当公网流量过大时会发生公网带宽不足,导致相关微服务之间的传输时间过长。因此,得出当迁移微服务k后,由于网络带宽限制导致的网络开销为cost_bandk,其含义为:在每秒内,由公网带宽不足导致的所有请求的数据传输时间的增量。另一方面,不同地域的数据中心之间的RTT可以从几毫秒到几百毫秒不等,不同地理位置之间的RTT也会影响应用程序性能。因此,本实施例定义出迁移微服务k后,由RTT引起的网络成本为cost_rttk,其与微服务DAG架构中通过公网进行数据传输边数成正比。
具体地,于本实施例中,所述基于奖励的微服务迁移器对于每个要迁移的微服务,使用分阶段延迟百分比和延迟变异系数的乘积,得出每个微服务的潜在性能增益,并基于所述微服务的潜在性能增益、由网络带宽限制导致的网络开销以及由网络时延引起的网络成本获取迁移微服务到远程数据中心的奖励。
于本实施例中,所述迁移微服务到远程数据中心的奖励为:其中, rewardk为迁移微服务到远程数据中心的奖励,Perfk为微服务的潜在性能增益,cost_netk为总公有网络通信开销,cost_netk=cost_bandk+cost_rttk,cost_bandk为由网络带宽限制导致的网络开销,cost_rttk为由网络时延引起的网络成本。
rewardk的定义可以解释为“每单位网络开销下的潜在性能增益”。由于公有网络开销需要用更多的计算资源来补偿,即通过减少服务时间补偿数据传输时间来实现相同的QoS目标,因此优先考虑迁移rewardk更高的微服务。更高的奖励意味着微服务在相同量大小的远程资源下具有更大的潜在性能增益,并且需要使用计算资源的补偿的数据通信开销更小。
为了尽可能少地使用远程计算资源,本实施例设计了一种最小资源迁移策略,该策略可以将一些微服务迁移到远程数据中心,以减轻负载过量的情况,同时最大限度地减少远程数据中心的资源使用。
于本实施例中,所述当本地数据中心微服务负载过量时,选择并迁移多个微服务到远程数据中心包括:当监测器识别到本地数据中心负载过量时,获取每个迁移微服务到远程数据中心的奖励,并依次迁移奖励最高的微服务,直到本地资源足够承担剩余的微服务。
如图5所示,监测器定期采集本地和远程数据中心的资源使用状态。当监测器识别到本地数据中心负载过量时,首先计算迁移每个微服务的reward。每次,迁移reward最高的微服务,然后由于微服务在本地和远程数据中心分布发生变化,需要再次更新所有微服务的迁移 reward。本策略迭代地做出迁移决策,直到本地资源足够承担剩余的微服务,每个微服务的资源分配由资源管理器决定。在迁移过程完成后,使基于贝叶斯优化的资源管理器再次调整每个微服务的资源分配,在保证QoS的同时最小化资源使用。
于本实施例中,所述当本地数据中心微服务负载过量时,选择并迁移多个微服务到远程数据中心还包括:当监测器监测到本地数据中心有多余的资源来容纳微服务时,依次从远程数据中心迁移奖励最低的微服务,直到本地资源不能法承担来自远程数据中心的微服务或者所述远程数据中心所有微服务均已迁移回本地数据中心。
如图5所示,当过量负载的下降后,监测器可以感知到本地数据中心可能有多余的资源来容纳更多的微服务。为了最小化远程资源使用,迁移策略会将一些微服务迁移回本地数据中心。本实施例设计了一种“懒惰回迁”策略来消除在资源临界点时微服务徘徊迁移问题。只有当整个服务的负载下降到一定程度并稳定一段时间后,该策略才会回迁一些微服务。迁移顺序与从本地数据中心到远程数据中心的迁移顺序相反。直到本地数据中心无法承担来自远程数据中心中的任何其他微服务,或者所有微服务都已迁移回本地数据中心,回迁过程才会终止。
本实施例中的基于跨地域的微服务过量负载调度系统的实施过程示意图如图6所示:
1)用户请求输入微服务应用,定期监测用户请求的负载变化;
2)资源管理器基于最小化资源目标及约束,定时对于所有微服务的资源分配进行调整,在保证QoS的前提下,最小化资源使用量;
3)定期监控本地数据中心的资源余量状态,如果资源充足则返回2)的资源管理过程,定期对于所有微服务的资源分配进行调整;
4)当发现本地数据中心请求负载过量时,即资源管理器无法仅使用本地数据中心资源来满足QoS时,资源管理器触发微服务迁移器;
5)迁移器进行微服务迁移决策,并根据迁移奖励从大到小依次迁移微服务到远程数据中心,直到本地数据中心负载过量得到缓解;
6)迁移过程完成后,回到2)的资源管理阶段,在新的微服务部署情况下,资源管理器重新对于每个微服务进行资源分配;
7)在完成向远程数据中心迁移后,若发现应用负载等级降低,本地数据中心拥有剩余计算资源,则回迁部分微服务直到本地数据中心不能承担任何其他微服务,以最小化远程资源使用;
8)同样,当回迁过程完成后,回到2)的资源管理阶段,在新的微服务部署情况下,资源管理器重新对于每个微服务进行资源分配。
本实施例在无需对于微服务应用进行代码修改的情况下,既可以保证微服务应用QoS,又可以最小化应用总资源和远程数据中心计算资源使用量,本实施例的成果可以为云数据中心中微服务应用峰值拓展的部署技术落地提供支持,本实施例的成果可以构建具有商业意义的、基于跨地域数据中心的微服务峰值拓展系统,在保证用户服务质量的同时,面向云提供商提供总体应用部署成本的优化。
如图7所示,本实施例还提供一种基于跨地域的微服务过量负载调度方法,包括:
步骤S100,于本地数据中心为每个微服务分配资源量;
步骤S200,当本地数据中心微服务负载过量时,选择并迁移多个微服务到远程数据中心。
本实施例中基于跨地域的微服务过量负载调度方法与基于跨地域的微服务过量负载调度系统的实现原理相同,方法和系统间通用的技术特征不再赘述。
实施例2
如图8所示,本实施例提供一种电子设备101,所述电子设备101包括:处理器1001及存储器1002;所述存储器1002用于存储计算机程序;所述处理器1001用于执行所述存储器 1002存储的计算机程序,以使所述电子设备101执行如实施例1中基于跨地域的微服务过量负载调度系统和基于跨地域的微服务过量负载调度方法的步骤。由于基于跨地域的微服务过量负载调度方法的步骤的具体实施过程已经在实施例1中进行了详细说明,在此不再赘述。
处理器1001为(Central Processing Unit,中央处理器)。存储器1002通过系统总线与处理器1001连接并完成相互间的通信,存储器1002用于存储计算机程序,处理器1001用于运行计算机程序,以使所述处理器1001执行所述的基于跨地域的微服务过量负载调度方法。存储器1002可能包含随机存取存储器(Random Access Memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
此外,本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器1001执行时实现实施例1中所述的基于跨地域的微服务过量负载调度方法。实施例1已经对所述基于跨地域的微服务过量负载调度方法进行了详细说明,在此不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分结构可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,生成上述基于跨地域的微服务过量负载调度方法;而前述的存储介质包括:ROM、 RAM、磁碟或者光盘等各种可以存储程序代码的介质。
综上所述,本发明在无需对于微服务应用进行代码修改的情况下,既可以保证微服务应用服务质量(Quality of Service,QoS),又可以最小化应用总资源和远程数据中心计算资源使用量;本发明的成果可以为云数据中心中微服务应用峰值拓展的部署技术落地提供支持,可以构建具有商业意义的、基于跨地域数据中心的微服务峰值拓展系统,在保证用户服务质量的同时,面向云提供商提供总体应用部署成本的优化。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中包括通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (9)
1.一种基于跨地域的微服务过量负载调度系统,其特征在于:包括:
竞争感知的资源管理器,于本地数据中心为每个微服务分配资源量;于所述竞争感知的资源管理器中配置微服务的请求流为有向无环图;所述有向无环图的每个顶点表示微服务,每条边表示微服务之间的通信;所述有向无环图的各顶点分别配置有表示对应微服务的服务时间的权重,所述有向无环图的边分别配置有表示对应微服务之间的数据传输时间的权重;
基于奖励的微服务迁移器,当本地数据中心微服务负载过量时,选择并迁移多个微服务到远程数据中心。
2.根据权利要求1所述的基于跨地域的微服务过量负载调度系统,其特征在于:所述于本地数据中心为每个微服务分配资源量包括:
根据时间间隔内的执行时间对不同路径进行升序排序,并对于在最短路径上的微服务进行资源调整;
对于相同路径上的微服务,根据微服务的性能进行排序,并根据性能排序调整微服务的资源调整优先级。
3.根据权利要求1所述的基于跨地域的微服务过量负载调度系统,其特征在于:所述于本地数据中心为每个微服务分配资源量还包括:
为每个微服务配置一个预先训练的贝叶斯优化模型,以找到其接近最优的资源分配;
其中,所述贝叶斯优化模型首先采用初始样本拟合代理模型,对资源调整优化进行建模,然后采用采集函数迭代选择下一个资源采样点,并通过一评分函数对对所述资源采样点进行打分,最后根据新采样的数据更新代理模型,形成所述贝叶斯优化模型。
4.根据权利要求1所述的基于跨地域的微服务过量负载调度系统,其特征在于:所述基于奖励的微服务迁移器对于每个要迁移的微服务,使用分阶段延迟百分比和延迟变异系数的乘积,得出每个微服务的潜在性能增益,并基于所述微服务的潜在性能增益、由网络带宽限制导致的网络开销以及由网络时延引起的网络成本获取迁移微服务到远程数据中心的奖励。
5.根据权利要求4所述的基于跨地域的微服务过量负载调度系统,其特征在于:所述迁移微服务到远程数据中心的奖励为:
其中,rewardk为迁移微服务到远程数据中心的奖励,Perfk为微服务的潜在性能增益,cost_netk为总公有网络通信开销,cost_netk=cost_bandk+cost_rttk,cost_bandk为由网络带宽限制导致的网络开销,cost_rttk为由网络时延引起的网络成本。
6.根据权利要求1所述的基于跨地域的微服务过量负载调度系统,其特征在于:所述当本地数据中心微服务负载过量时,选择并迁移多个微服务到远程数据中心包括:
当监测器识别到本地数据中心负载过量时,获取每个迁移微服务到远程数据中心的奖励,并依次迁移奖励最高的微服务,直到本地资源足够承担剩余的微服务。
7.根据权利要求6所述的基于跨地域的微服务过量负载调度系统,其特征在于:所述当本地数据中心微服务负载过量时,选择并迁移多个微服务到远程数据中心还包括:
当监测器监测到本地数据中心有多余的资源来容纳微服务时,依次从远程数据中心迁移奖励最低的微服务,直到本地资源不能法承担来自远程数据中心的微服务或者所述远程数据中心所有微服务均已迁移回本地数据中心。
8.一种微服务过量负载调度方法,其特征在于:包括:
于本地数据中心为每个微服务分配资源量;配置微服务的请求流为有向无环图;所述有向无环图的每个顶点表示微服务,每条边表示微服务之间的通信;所述有向无环图的各顶点分别配置有表示对应微服务的服务时间的权重,所述有向无环图的边分别配置有表示对应微服务之间的数据传输时间的权重;
当本地数据中心微服务负载过量时,选择并迁移多个微服务到远程数据中心。
9.一种电子设备,其特征在于:包括如权利要求1至权利要求7任一权利要求所述的基于跨地域的微服务过量负载调度系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210583583.XA CN115190121B (zh) | 2022-05-25 | 2022-05-25 | 基于跨地域的微服务过量负载调度系统、方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210583583.XA CN115190121B (zh) | 2022-05-25 | 2022-05-25 | 基于跨地域的微服务过量负载调度系统、方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115190121A CN115190121A (zh) | 2022-10-14 |
CN115190121B true CN115190121B (zh) | 2023-11-17 |
Family
ID=83512916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210583583.XA Active CN115190121B (zh) | 2022-05-25 | 2022-05-25 | 基于跨地域的微服务过量负载调度系统、方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115190121B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117041330B (zh) * | 2023-10-10 | 2023-12-15 | 三峡高科信息技术有限责任公司 | 一种基于强化学习的边缘微服务细粒度部署方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108228347A (zh) * | 2017-12-21 | 2018-06-29 | 上海电机学院 | 一种任务感知的Docker自适应调度系统 |
CN109947619A (zh) * | 2019-03-05 | 2019-06-28 | 上海交通大学 | 基于服务质量感知提高吞吐量的多资源管理系统及服务器 |
CN111597048A (zh) * | 2020-05-15 | 2020-08-28 | 上海交通大学 | 基于服务质量的微服务调度方法、系统及电子设备 |
CN112783649A (zh) * | 2021-01-19 | 2021-05-11 | 苏州博纳讯动软件有限公司 | 一种面向云计算的交互感知的容器化微服务资源调度方法 |
CN113064712A (zh) * | 2021-04-16 | 2021-07-02 | 上海交通大学 | 基于云边环境的微服务优化部署控制方法、系统及集群 |
CN113672383A (zh) * | 2021-07-23 | 2021-11-19 | 深圳先进技术研究院 | 一种云计算资源调度方法、系统、终端以及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10628233B2 (en) * | 2016-12-30 | 2020-04-21 | Samsung Electronics Co., Ltd. | Rack-level scheduling for reducing the long tail latency using high performance SSDS |
-
2022
- 2022-05-25 CN CN202210583583.XA patent/CN115190121B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108228347A (zh) * | 2017-12-21 | 2018-06-29 | 上海电机学院 | 一种任务感知的Docker自适应调度系统 |
CN109947619A (zh) * | 2019-03-05 | 2019-06-28 | 上海交通大学 | 基于服务质量感知提高吞吐量的多资源管理系统及服务器 |
CN111597048A (zh) * | 2020-05-15 | 2020-08-28 | 上海交通大学 | 基于服务质量的微服务调度方法、系统及电子设备 |
CN112783649A (zh) * | 2021-01-19 | 2021-05-11 | 苏州博纳讯动软件有限公司 | 一种面向云计算的交互感知的容器化微服务资源调度方法 |
CN113064712A (zh) * | 2021-04-16 | 2021-07-02 | 上海交通大学 | 基于云边环境的微服务优化部署控制方法、系统及集群 |
CN113672383A (zh) * | 2021-07-23 | 2021-11-19 | 深圳先进技术研究院 | 一种云计算资源调度方法、系统、终端以及存储介质 |
Non-Patent Citations (2)
Title |
---|
基于OpenFlow网络的数据中心服务器负载均衡策略;秦华;阎钢;;计算机工程(03);131-132 * |
基于微服务架构的图书馆机构知识库设计研究;张宸;王惠森;;图书馆学研究(08);60-63 * |
Also Published As
Publication number | Publication date |
---|---|
CN115190121A (zh) | 2022-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8087025B1 (en) | Workload placement among resource-on-demand systems | |
Li et al. | Energy-efficient migration and consolidation algorithm of virtual machines in data centers for cloud computing | |
CN110463140B (zh) | 计算机数据中心的网络服务水平协议 | |
CN109788046B (zh) | 一种基于改进蜂群算法的多策略边缘计算资源调度方法 | |
CN108182105B (zh) | 基于Docker容器技术的局部动态迁移方法及控制系统 | |
CN113348651B (zh) | 切片的虚拟网络功能的动态云间放置 | |
Ullah et al. | Task classification and scheduling based on K-means clustering for edge computing | |
CN110933139A (zh) | 一种解决Web服务器高并发的系统及方法 | |
CN108897606B (zh) | 多租户容器云平台虚拟网络资源自适应调度方法及系统 | |
Giurgiu et al. | Enabling efficient placement of virtual infrastructures in the cloud | |
Misra et al. | Multiarmed-bandit-based decentralized computation offloading in fog-enabled IoT | |
CN107666448B (zh) | 一种时延感知下的5g虚拟接入网映射方法 | |
CN113822456A (zh) | 一种云雾混构环境下基于深度强化学习的服务组合优化部署方法 | |
CN117041330B (zh) | 一种基于强化学习的边缘微服务细粒度部署方法及系统 | |
CN115190121B (zh) | 基于跨地域的微服务过量负载调度系统、方法及设备 | |
Ma et al. | A cyclic game for service-oriented resource allocation in edge computing | |
Babu et al. | Interference aware prediction mechanism for auto scaling in cloud | |
Ben Jemaa et al. | Analytical models for QoS-driven VNF placement and provisioning in wireless carrier cloud | |
Shi et al. | QoS-awareness of microservices with excessive loads via inter-datacenter scheduling | |
Liu et al. | Correlation-based virtual machine migration in dynamic cloud environments | |
Ali et al. | A comprehensive utility function for resource allocation in mobile edge computing | |
CN112596910B (zh) | 一种多用户mec系统中的云计算资源调度方法 | |
CN109815204A (zh) | 一种基于拥塞感知的元数据请求分发方法及设备 | |
Chen | RIFLING: A reinforcement learning‐based GPU scheduler for deep learning research and development platforms | |
CN104683480A (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 |