CN117170861A - 一种云服务器微服务调度方法及系统 - Google Patents
一种云服务器微服务调度方法及系统 Download PDFInfo
- Publication number
- CN117170861A CN117170861A CN202310983497.2A CN202310983497A CN117170861A CN 117170861 A CN117170861 A CN 117170861A CN 202310983497 A CN202310983497 A CN 202310983497A CN 117170861 A CN117170861 A CN 117170861A
- Authority
- CN
- China
- Prior art keywords
- micro
- resource allocation
- slo
- service
- scoring
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000013468 resource allocation Methods 0.000 claims abstract description 122
- 238000004364 calculation method Methods 0.000 claims abstract description 51
- 238000012544 monitoring process Methods 0.000 claims abstract description 9
- 230000007246 mechanism Effects 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 230000010485 coping Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 241000529895 Stercorarius Species 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008602 contraction Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000011478 gradient descent method Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 101000872083 Danio rerio Delta-like protein C Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000004134 energy conservation Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000178 monomer Substances 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种云服务器微服务调度方法及系统,包括在负载加载到微服务前,资源分配计算器对所有微服务进行SLO资源分配计算并发送资源分配请求;集群调度器基于SLO资源分配计算结果为微服务分配资源;负载监控器在监控到SLO违约时向集群调度器发送资源扩展请求并将违约情况发送给打分计数器;打分计数器对违约情况进行记录打分并基于打分情况向资源分配计算器发送资源重分配请求;资源分配计算器基于资源重分配请求重新进行SLO资源分配计算;集群调度器基于重新计算获得的SLO资源分配计算结果为微服务分配资源。本发明能在满足用户服务要求的前提下,既能应对突发负载激增情况,又能近似最优地完成资源分配,提高资源利用率,增加系统稳健性。
Description
技术领域
本发明涉及云服务器微服务调度技术领域,特别涉及一种云服务器微服务调度方法及系统。
背景技术
云计算服务中心作为新时代IT行业的重要基础组成部分,云计算被广泛地应用于部署按需分配资源的应用,为广大用户以及企业提供了诸多便利,而且随着云计算技术的发展,云服务端部署的应用越来越多的从大型单体服务转化为大量松散耦合、专业化的微服务应用,提高了云应用的可编程性、可靠性和可扩展性,同时在促进开发、部署、模块化以及应用隔离方面有着极为显著的优势。用户在使用这些服务时,通常会对服务器的链路延迟有着高度敏感,因为服务器链路延迟直接关系到服务器的服务质量,从而影响到用户的体验。但是微服务应用之间的依赖关系,以及由于级联效应导致服务要求无法满足,造成服务质量违规。但当分配给用户的资源过多时,又易造成资源浪费,增加了成本开销。
随着云计算技术的不断发展,节能减排等种种政策的提出,以及企业对于降本增效要求的不断提高,云服务器提供商在保证服务器使用者的用户体验的同时,越来越追求服务器资源的节约。
一个优秀的云计算资源调度算法,不仅可以尽可能地减少服务器资源的浪费,还可以大大提高云服务器使用者的体验感,提高云服务器的稳定性,使得云服务器中的资源分配更加合理,提高整个云服务集群中微服务的鲁棒性。
用户的服务体验主要取决于端到端的延迟时间,为了保证使用者的用户体验,目前许多调度算法研究都是从用户服务体验出发进行设计,即基于服务级别目标(SLO,Service Level Object)设计调度算法。目前该类型的调度算法有资源分配调度算法、基于机器学习对工作负载进行预测来分配SLO资源等。
(1)资源分配调度算法:资源分配调度算法利用了微服务本身的预设资源分配值来进行分配。在资源充足的情况下能取得较好的效果。在这种资源分配方式下能尽可能的减少微服务之间资源的竞争,一定程度上提高了云服务器的稳定性。
(2)基于机器学习预测工作负载的调度算法:通过对当前时间段以及之前时间段的工作负载进行分析,作为输入,输入到设计好的机器学习模型中,预测未来时间段内的工作负载情况,提前分配好工作负载,完善的机器学习模型能够很好的预测下一时段的工作负载变化情况,在保证用户服务体验的同时,很好的提高了资源的使用效率,节约了资源消耗,同时提高了服务器的稳定性。
现有的许多基于梯度下降的方法都是基于大型单体的应用而不是基于松散耦合的微服务链,由于微服务链条之间相互依赖,互相影响,想要求解出最优的SLO分配策略,这几乎是不可能的,因此目前都是通过种种手段达到近似最优分配,同时导致的是在线计算需求庞大,求解不够迅速,因此目前基于梯度下降方法的技术都无法很好地解决突发流量的工作负载激增导致SLO违规。
也有采用机器学习方法对工作负载进行预测,提前分配资源,但是机器学习方法是基于历史数据和当前数据,往往会出现过度拟合或者预测不准的状况,同时由此产生的级联效应,即使提前分配资源,由于是端到端的延迟,无法准确分配到需求微服务。现有技术能够做到长期部署应用SLO分配部署成本节约最大化,但无法有效处理突发流量。
发明内容
本发明的目的在于,针对上述现有技术的不足,提供一种云服务器微服务调度方法及系统,用于至少解决上述现有技术问题之一,在满足用户的服务要求的前提下,既能应对突发负载激增情况,又能近似最优地完成资源分配,提高资源利用率,增加系统稳健性。
为解决上述技术问题,本发明所采用的技术方案是:
一种云服务器微服务调度方法,其特点是包括:
在负载加载到微服务前,资源分配计算器根据微服务应用特性,对云计算服务集群中的所有微服务进行SLO资源分配计算;
资源分配计算器基于SLO资源分配计算结果向集群调度器发送资源分配请求;
集群调度器基于SLO资源分配计算结果为云计算服务集群中的微服务分配资源;
负载监控器监控云计算服务集群中每个微服务的履约情况,在监控到微服务应用出现违约时向集群调度器发送资源扩展请求并将违约情况发送给打分计数器;
打分计数器对违约情况进行记录打分并基于打分情况向资源分配计算器发送资源重分配请求;
资源分配计算器基于资源重分配请求重新进行SLO资源分配计算;
集群调度器基于重新计算获得的SLO资源分配计算结果为云计算服务集群中的微服务分配资源。
作为一种优选方式,所述打分计数器对违约情况进行记录打分并基于打分情况向资源分配计算器发送资源重分配请求包括:
打分计数器对违约情况进行记录打分并将打分情况储存进打分记录表,在打分记录表中的打分记录超过设定阈值时,向资源分配计算器发送资源重分配请求。
作为一种优选方式,所述资源分配计算器基于资源重分配请求重新进行SLO资源分配计算包括:
基于打分情况,对SLO资源分配进行加权计算,重新分配SLO资源。
作为一种优选方式,所述资源分配计算器根据梯度下降模型对云计算服务集群中的所有微服务进行SLO资源分配计算。
作为一种优选方式,所述打分计数器的打分机制包括:基于端到端的延迟时长和SLO的履约状况以及微服务链长度进行打分。
作为一种优选方式,所述集群调度器采用包括横向扩展、纵向扩展、管制在内的调度策略对云计算服务集群中的微服务进行资源分配。
作为一种优选方式,所述横向扩展调度策略包括:在云计算服务集群中的云服务器上增加或删除微服务的副本;
和/或,
所述纵向扩展调度策略包括:调节分配给微服务实例的CPU、内存或网络资源的数量来调整当前云服务器的处理服务能力;
和/或,
所述管制调度策略包括:通过动态开启或者关闭可选组件来降低微服务链路延迟。
基于同一个发明构思,本发明还提供了一种云服务器微服务调度系统,其特点是包括:
资源分配计算器:用于在负载加载到微服务前,资源分配计算器根据微服务应用特性,对云计算服务集群中的所有微服务进行SLO资源分配计算;用于基于SLO资源分配计算结果向集群调度器发送资源分配请求;用于基于资源重分配请求重新进行SLO资源分配计算;
负载监控器:用于监控云计算服务集群中微服务的负载变化,监控微服务的履约情况;当出现SLO违约时向集群调度器以及打分计数器发送请求;
集群调度器:用于基于资源分配计算器的SLO资源分配计算结果为云计算服务集群中的微服务分配资源;用于接收负载监控器发送来的SLO违约情况,计算增加微服务资源后满足应用的SLO;
打分计数器:用于对违约情况进行记录打分并基于打分情况向资源分配计算器发送资源重分配请求以及资源重新分配权重。
作为一种优选方式,所述打分计数器对违约情况进行记录打分并将打分情况储存进打分记录表,在打分记录表中的打分记录超过设定阈值时,向资源分配计算器发送资源重分配请求。
作为一种优选方式,所述资源分配计算器根据梯度下降模型对云计算服务集群中的所有微服务进行SLO资源分配计算。
与现有技术相比,本发明能够在满足用户的服务要求的前提下,既能应对突发负载激增情况,又能近似最优地完成资源分配,提高资源利用率,增加系统稳健性。
附图说明
图1为本发明系统整体模型图。
图2为集群调度器调度策略示意图。
其中,1为资源分配计算器,2为云计算服务集群,3为集群调度器,4为负载监控器,5为打分计数器,501为打分记录表,6为负载生成器。
具体实施方式
下面结合图示对本发明的具体实施方式做进一步详细说明。
本发明的目标是在满足用户的服务要求的前提下,尽可能多的优化资源利用,同时使用一整套打分机制,在应对突发负载激增的情况的同时保证资源的利用率。本发明基于梯度下降方法,提出了一个新的云计算资源调度架构,使用了包括横向扩展、纵向扩展等方法来重新分配集群内的资源,建立了一整套打分标准来使整个服务系统既能应对突发负载激增情况,又能近似最优的完成资源分配,提高资源利用率。
本发明的第一方面提供了一种云服务器微服务调度方法,具体为一种打分机制与SLO分配融合的算法,来应对关键性微服务流量波动过大而易产生的级联效应,同时节约系统资源。其包括:
在负载加载到微服务前,资源分配计算器1根据微服务应用特性,对云计算服务集群2中的所有微服务进行初始SLO资源分配计算。
计算完成后,资源分配计算器1基于SLO资源分配计算结果向集群调度器3发送资源分配请求。
集群调度器3基于SLO资源分配计算结果为云计算服务集群2中的微服务分配资源。
负载监控器4监控云计算服务集群2中每个微服务的响应时间等履约情况,在监控到微服务应用出现端到端延迟过长等导致SLO违约时,负载监控器4即时向集群调度器3发送资源扩展请求并将违约情况发送给打分计数器5。
集群调度器3快速完成资源扩展,优选采用水平扩展,快速资源翻倍,保证服务质量。
打分计数器5对违约情况进行记录打分并基于打分情况向资源分配计算器1发送资源重分配请求。
资源分配计算器1基于资源重分配请求重新进行SLO资源分配计算。
集群调度器3基于重新计算获得的SLO资源分配计算结果为云计算服务集群2中的微服务分配资源。后续的资源分配主要以水平扩展和限电管制为主。
所述打分计数器5对违约情况进行记录打分并基于打分情况向资源分配计算器1发送资源重分配请求优选但不限于包括:
打分计数器5对违约情况进行记录打分并将打分情况储存进打分记录表501,在打分记录表501中的打分记录超过设定阈值时,向资源分配计算器1发送资源重分配请求。
所述资源分配计算器1基于资源重分配请求重新进行SLO资源分配计算优选但不限于包括:
基于打分情况,对SLO资源分配进行加权计算,综合到梯度下降模型之中,重新分配SLO资源。资源分配计算器1的行为其实属于离线计算,因此不会影响云服务器的服务水平。
所述资源分配计算器1优选但不限于根据梯度下降模型对云计算服务集群2中的所有微服务进行SLO资源分配计算。本发明所提出的基于梯度下降方法的模型能够近似最优的完成微服务的部署,保障云服务集群在部署阶段做到资源节约最大化。
梯度下降模型为:
其中,ΔC为微服务相对消耗,μ为请求数不排队时的最大到达率,ρ为最大利用率,s为当前微服务所拥有的SLO资源,Δs为SLO单元,ρs表示在拥有s个SLO资源的条件下,微服务能够达到的最大利用率,Φ-1为刻画微服务特性的函数,α为微服务接受请求数为0时,微服务特性曲线的值,∈参数指定微服务单个实例的成本,该模型假设单个微服务的所有实例具有相同的成本。每次SLO资源就分配给ΔC最小的微服务。在完成SLO资源的初始化分配后,开始加载负载。
所述打分计数器5的打分机制优选但不限于包括:基于端到端的延迟时长和SLO的履约状况以及微服务链长度等进行评估打分。当微服务的资源率连续几个服务周期内都较低时,资源监控器会向打分计数器5发送请求,打分计数器5会随之为其打分。
基于同一个发明构思,如图1所示,本发明的第二方面还提供了一种云服务器微服务调度系统,具体为一种基于梯度下降、面向SLO的云服务器微服务调度架构,能够有效地解决云服务器集群中突发流量负载而导致的服务违规的问题,同时尽可能地提高了资源利用率,节约云计算资源。其包括:
资源分配计算器1:用于在负载加载到微服务前,资源分配计算器1根据微服务应用特性,对云计算服务集群2中的所有微服务进行SLO资源分配计算;用于基于SLO资源分配计算结果向集群调度器3发送资源分配请求;用于基于资源重分配请求重新进行SLO资源分配计算;
负载监控器4:用于监控云计算服务集群2中微服务的负载变化,监控微服务的履约情况;当出现SLO违约时向集群调度器3以及打分计数器5发送请求;
集群调度器3:用于基于资源分配计算器1的SLO资源分配计算结果为云计算服务集群2中的微服务分配资源;用于接收负载监控器4发送来的SLO违约情况,计算增加微服务资源后满足应用的SLO;
打分计数器5:用于对违约情况进行记录打分并基于打分情况向资源分配计算器1发送资源重分配请求以及资源重新分配权重。
在一些实施例中,所述打分计数器5对违约情况进行记录打分并将打分情况储存进打分记录表501,在打分记录表501中的打分记录超过设定阈值时,向资源分配计算器1发送资源重分配请求。
在一些实施例中,所述资源分配计算器1根据梯度下降模型对云计算服务集群2中的所有微服务进行SLO资源分配计算。
本发明提出了快速缩放模型和打分机制,能够快速响应突发流量导致的负载激增,快速缩放模型包含三种不同的调度模型:横向扩展、纵向扩展和限电管制。
如图2所示,在经过打分计数器5和资源分配计算器1加权计算完成调度决策之后,本发明使用三种算法来对云计算服务集群2中的微服务进行调度,这三种调度策略分别为横向扩展Vertical,纵向扩展Horizontal,管制Brownout。所述集群调度器3优选但不限于采用包括横向扩展、纵向扩展、管制在内的调度策略对云计算服务集群2中的微服务进行资源分配。
横向扩展又称垂直扩展。横向扩展通过在云计算服务集群2中的云服务器上增加或删除微服务的副本(replicates)来调整资源,以改善资源的使用和系统的可用性。云计算服务集群2能通过增加微服务的副本来达到降低云计算服务集群2的工作负载的目的。
纵向扩展又称水平扩展。纵向扩展通过调节分配给微服务实例的CPU、内存或网络资源的数量来调整当前云服务器的处理服务能力。云计算服务集群2能通过增加集群内的单个云服务器或多个云服务器关于单个或多个微服务的资源来达到降低云计算服务集群2的工作负载的目的。
管制则是通过动态开启或者关闭可选组件来达到降低微服务链路延迟的目的,管制由于会在一定程度上影响到微服务整体的完整性,一般只有在极端情况,例如云计算服务集群2持续处于过载状态,管制机制才会触发并关闭可选组件,当云服务及集群从极端情况过渡到正常工作状态之后,被关闭的可选组件将被管制重新开启。
综上,本发明提出了一种基于梯度下降、面向SLO的云服务器微服务调度方法及系统架构,在保证SLO分配能够做到近似最优的同时,提高了整个系统应对突发流量激增的能力,既保障了资源的利用率,又满足了用户服务要求,同时打分系统的设立,使得SLO分配更加有利于应对突发流量负载,使得整个系统的稳健性增加。
相比于现有技术,本发明采用了基于梯度下降方法结合了打分机制以及快速缩放技术来针对云服务器在应对突发负载时易出现的SLO违规问题,相较于只采用梯度下降的方法而言,本发明能够解决云服务器无法有效应对突发负载的缺陷,更能适应实际情况中多变的用户工作负载,同时尽可能地优化了资源配置。
下面结合具体试验数据来验证本发明的有益效果:
我们采用的第一组数据集是来自Alibaba,2018年的云计算服务集群2的工作负载数据集cluster-trace-v2018。这个数据集内包含着跨度为8天的工作负载数据,该项数据是由4034台同构的服务器生成的。其中每一台服务器均具有96个CPU核心,他们的内存大小也是相同的。我们选取了该数据集中的machine_usage.csv进行分析,该数据集包括了机器号machine_id、时间戳time_stamp、当前机器的CPU利用率cpu_util_percent、当前时刻机器的内存占用mem_util_percent等参数,其记录数据的时间间隔为10秒。
我们将原始数据进行了简单的预处理,去掉了一些常出现空值的参考变量,将偶尔出现空值的参考变量的空值赋0。
我们使用的实验平台有两个,其中一个是基于Sock Shop的微服务平台。SockShop模拟了一个销售袜子的电子商务网站中面向用户的部分。它的目的是帮助用户用于演示和测试微服务和云原生技术。Sock Shop的微服务被设计为具有最小的资源预计分配量,即每一个微服务的配额在进行初始化的时候都是尽可能小的。微服务之间使用DNS来寻找其他相关联的微服务。在对云服务器进行调度测试时可以根据我们的需要,在整个微服务框架中插入负载均衡器或服务路由器。本实施例使用的Sock Shop版本是基于Kubernetes的正式版本,里面除了基本微服务组件之外还包括了基于Jaeger的微服务监测组件。
我们使用的另一个实验平台是Social Network,该项目是一个基于微服务架构的端到端服务具有单向跟随关系的广播式社交网络,包含29个微服务。Social Network中用户可以创建文本、媒体、链接和标签的帖子给其他用户查看,同时还能将这些帖子广播给他们的关注者,类似于一个简易版本的微博,同时内置微服务可以对发布的文本和图像进行过滤。此外它还包括了用于监控系统状态的Jaeger微服务检测组件以及控制微服务整体稳定性的工作负载均衡器。
实施例中搭建的系统模型(如图1所示)包括了以下组成部分:负载生成器6、资源分配计算器1、集群调度器3、打分计数器5、负载监控器4。
试验过程涉及的概念定义如下:
定义1(历史工作负载):历史工作负载指的是由特定的服务器或内建的程序定时收集到的来自于运行中的云计算服务集群2的工作负载,主要包括了时间戳,机器编号,具体微服务编号,CPU利用率,内存占用大小等信息。在本发明中,历史工作负载来自于Alibaba的数据集。
定义2(负载生成器):在我们的模型中,负载生成器6是由一系列组件共同构成的,这些组件包括了工作负载与处理器,基于Locust的请求生成器以及存储着历史工作负载的数据库。这些组件相互协调的完成了从历史数据库中提取出需要的工作负载数据与特征并将它们加以处理,再通过负载生成器6进行模拟真实用户使用情况,并转化成对服务器集群的请求发送出去。
定义3(资源分配计算器):资源分配计算器1的主要任务是根据微服务应用的LLP图以及打分计数器5反馈过来的权重分析,通过梯度下降模型计算每个微服务的SLO分配量。初次分配完全根据微服务应用的LLP图进行SLO分配,后面当打分计数器5超过某一阈值进行反馈输入后,梯度下降模型将结合打分权重得到全新的SLO分配情况。
定义4(集群调度器):集群调度器3主要作用于云计算服务集群2,通过接受来自负载监控器4和资源分配计算器1的调度请求来完成对相应的云服务器中的微服务进行调度,当负载监控器4监控到流量激增导致的SLO违规时,进行快速资源扩展,当负载监控器4监控到微服务持续几个重新分布周期内资源利用率都相当低时,会对其进行资源收缩。资源调度的方式主要分为三种:横向扩展Vertical,纵向扩展Horizontal与管制Brownout。
定义5(打分计数器):打分计数器5通过负载监控器4反馈回来的SLO违规情况,进行记录该微服务的SLO违约情况,计数器根据延迟时间比例进行打分记录,将其记录到打分记录表501之中,当负载监控器4持续几个周期内监控到微服务资源利用率较低时,打分计数器5同样会将其记录到打分记录表501之中。打分记录表501中的打分记录超过某一阈值时,便会向资源分配计算器1发送请求和数据,对系统微服务的SLO资源分配进行重新加权计算。
定义6(负载监控器):负载监控器4会监控整个集群所有微服务的负载情况和端到端的延迟情况,以及微服务的链路状况,当微服务出现SLO违规时,负载监控器4会立即发送请求给集群调度器3,完成快速资源扩展,同时将违约情况发送给打分计数器5。当连续几个周期监控到微服务资源利用率较低时,会向集群调度器3发送请求,进行资源收缩。
在获得处理之后的Alibaba的工作负载之后,我们通过在集群中模拟生成请求来达到与原数据集相同的效果。
在此之后我们对用户行为进行分析,并且基于用户的行为将用户访问网站的不同位置进行了记录,在这里用户访问的网站的不同位置指的是访问基于微服务主页的网站及其子网站,例如网站主页,网站索引页,网站分类页,网站登录页等,同时针对SocialNetwork,我们模拟了Twitter用户2010年的活动行为,帖子的文本长度分布模拟Twitter的文本长度。通过对这些访问网站的不同请求进行模拟我们能更加贴近实际的模拟出现实生活中用户的行为。
本发明实验使用来自Alibaba与Google的云数据中心工作负载数据集。使用基于Locust的负载生成器6与基于强化学习模型的云服务器集群调度器3,并对比了目前调度领域常用的几种不同的调度算法,结果证明,本发明在面向SLO方向应对突发流量以及资源节约率方面,优于现有方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是局限性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护范围之内。
Claims (10)
1.一种云服务器微服务调度方法,其特征在于,包括:
在负载加载到微服务前,资源分配计算器(1)根据微服务应用特性,对云计算服务集群(2)中的所有微服务进行SLO资源分配计算;
资源分配计算器(1)基于SLO资源分配计算结果向集群调度器(3)发送资源分配请求;
集群调度器(3)基于SLO资源分配计算结果为云计算服务集群(2)中的微服务分配资源;
负载监控器(4)监控云计算服务集群(2)中每个微服务的履约情况,在监控到微服务应用出现违约时向集群调度器(3)发送资源扩展请求并将违约情况发送给打分计数器(5);
打分计数器(5)对违约情况进行记录打分并基于打分情况向资源分配计算器(1)发送资源重分配请求;
资源分配计算器(1)基于资源重分配请求重新进行SLO资源分配计算;
集群调度器(3)基于重新计算获得的SLO资源分配计算结果为云计算服务集群(2)中的微服务分配资源。
2.根据权利要求1所述的云服务器微服务调度方法,其特征在于,所述打分计数器(5)对违约情况进行记录打分并基于打分情况向资源分配计算器(1)发送资源重分配请求包括:
打分计数器(5)对违约情况进行记录打分并将打分情况储存进打分记录表(501),在打分记录表(501)中的打分记录超过设定阈值时,向资源分配计算器(1)发送资源重分配请求。
3.根据权利要求2所述的云服务器微服务调度方法,其特征在于,所述资源分配计算器(1)基于资源重分配请求重新进行SLO资源分配计算包括:
基于打分情况,对SLO资源分配进行加权计算,重新分配SLO资源。
4.根据权利要求1至3任一项所述的云服务器微服务调度方法,其特征在于,所述资源分配计算器(1)根据梯度下降模型对云计算服务集群(2)中的所有微服务进行SLO资源分配计算。
5.根据权利要求1至3任一项所述的云服务器微服务调度方法,其特征在于,所述打分计数器(5)的打分机制包括:基于端到端的延迟时长和SLO的履约状况以及微服务链长度进行打分。
6.根据权利要求1至3任一项所述的云服务器微服务调度方法,其特征在于,所述集群调度器(3)采用包括横向扩展、纵向扩展、管制在内的调度策略对云计算服务集群(2)中的微服务进行资源分配。
7.根据权利要求6所述的云服务器微服务调度方法,其特征在于,
所述横向扩展调度策略包括:在云计算服务集群(2)中的云服务器上增加或删除微服务的副本;
和/或,
所述纵向扩展调度策略包括:调节分配给微服务实例的CPU、内存或网络资源的数量来调整当前云服务器的处理服务能力;
和/或,
所述管制调度策略包括:通过动态开启或者关闭可选组件来降低微服务链路延迟。
8.一种云服务器微服务调度系统,其特征在于,包括:
资源分配计算器(1):用于在负载加载到微服务前,资源分配计算器(1)根据微服务应用特性,对云计算服务集群(2)中的所有微服务进行SLO资源分配计算;用于基于SLO资源分配计算结果向集群调度器(3)发送资源分配请求;用于基于资源重分配请求重新进行SLO资源分配计算;
负载监控器(4):用于监控云计算服务集群(2)中微服务的负载变化,监控微服务的履约情况;当出现SLO违约时向集群调度器(3)以及打分计数器(5)发送请求;
集群调度器(3):用于基于资源分配计算器(1)的SLO资源分配计算结果为云计算服务集群(2)中的微服务分配资源;用于接收负载监控器(4)发送来的SLO违约情况,计算增加微服务资源后满足应用的SLO;
打分计数器(5):用于对违约情况进行记录打分并基于打分情况向资源分配计算器(1)发送资源重分配请求以及资源重新分配权重。
9.根据权利要求8所述的云服务器微服务调度系统,其特征在于,所述打分计数器(5)对违约情况进行记录打分并将打分情况储存进打分记录表(501),在打分记录表(501)中的打分记录超过设定阈值时,向资源分配计算器(1)发送资源重分配请求。
10.根据权利要求8或9所述的云服务器微服务调度系统,其特征在于,所述资源分配计算器(1)根据梯度下降模型对云计算服务集群(2)中的所有微服务进行SLO资源分配计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310983497.2A CN117170861A (zh) | 2023-08-04 | 2023-08-04 | 一种云服务器微服务调度方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310983497.2A CN117170861A (zh) | 2023-08-04 | 2023-08-04 | 一种云服务器微服务调度方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117170861A true CN117170861A (zh) | 2023-12-05 |
Family
ID=88930881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310983497.2A Pending CN117170861A (zh) | 2023-08-04 | 2023-08-04 | 一种云服务器微服务调度方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117170861A (zh) |
-
2023
- 2023-08-04 CN CN202310983497.2A patent/CN117170861A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103595780B (zh) | 基于消重的云计算资源调度方法 | |
CN110134495B (zh) | 一种容器跨主机在线迁移方法、存储介质及终端设备 | |
Jiang et al. | Asap: A self-adaptive prediction system for instant cloud resource demand provisioning | |
Sayadnavard et al. | A reliable energy-aware approach for dynamic virtual machine consolidation in cloud data centers | |
CN112685170B (zh) | 备份策略的动态优化 | |
WO2023185090A1 (zh) | 基于微服务链路分析和强化学习的调度方法及装置 | |
CN104123189A (zh) | 一种基于IaaS层应用感知的Web多层应用动态资源调整方法 | |
CN110532154B (zh) | 应用系统扩容方法、装置和设备 | |
Li et al. | Energy-efficient and QoS-aware model based resource consolidation in cloud data centers | |
WO2020220436A1 (zh) | 面向不同老化场景的虚拟机工作队列和冗余队列更新方法 | |
Mazzucco et al. | Balancing electricity bill and performance in server farms with setup costs | |
Karakoyunlu et al. | Exploiting user metadata for energy-aware node allocation in a cloud storage system | |
CN102339233A (zh) | 云计算集中管理平台 | |
Monil et al. | QoS-aware virtual machine consolidation in cloud datacenter | |
CN107566535B (zh) | 基于Web地图服务并发访问时序规则的自适应负载均衡方法 | |
CN110716875A (zh) | 一种国产办公环境下基于反馈机制的并发测试方法 | |
CN104135525B (zh) | 云平台elb组件的资源扩展方法和装置 | |
Mampage et al. | A deep reinforcement learning based algorithm for time and cost optimized scaling of serverless applications | |
US11374869B2 (en) | Managing bandwidth based on user behavior | |
CN117170861A (zh) | 一种云服务器微服务调度方法及系统 | |
He et al. | Queuing-oriented job optimizing scheduling in cloud mapreduce | |
Shwe et al. | Proactive re-replication strategy in HDFS based cloud data center | |
He et al. | An SLA-driven cache optimization approach for multi-tenant application on PaaS | |
Marin et al. | Hybrid capacity planning methodology for web search engines | |
KR20160044623A (ko) | 리눅스 가상 서버의 로드 밸런싱 방법 |
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 |