logo好方法网

基于服务质量的微服务调度方法、系统及电子设备


技术摘要:
本发明提供一种基于服务质量的微服务调度方法、系统及电子设备,所述方法包括:在Serverless模式下,根据运行时特征采集数据,获取当前微服务请求的实际平均到达率λ;根据决策函数、微服务请求的平均服务速率和服务质量目标,计算出切换所需要达到的平均到达率λ(μ)  全部
背景技术:
越来越多的公司和个人开始使用微服务架构来构建具有严格的服务质量(QoS)约 束的用户应用程序,以获得高可维护性和可测试性。与传统的单片架构相比,采用微服务体 系结构,可以使来自不同开发人员的多个松耦合细粒度服务共同构建。并且这些服务可以 运行在不同的机器上,并通过网络相互通信。 细粒度的服务可以选择在云中基于IaaS(基础设施即服务)模式或Serverless(无 服务器计算)模式部署。采用基于IaaS模式的部署,维护人员租用云中的服务器,在长期运 行的虚拟机实例中部署和运行服务。采用基于Serverless模式的部署,维护人员为每个函 数调用付费,而不是为整个基础架构付费。每次函数或服务的调用使用共享容器池中的容 器执行。采用基于服务器的部署,然而,对于有着昼夜模式变化(低负载小于峰值负载的 30%)的用户应用程序,这两种部署模式带来的结果要么是低资源利用率,要么是低峰值负 载。对于微服务,如果采用基于IaaS模式的部署,其维护人员将租用足够的服务器来支持其 峰值负载。在这种情况下,资源(例如内核和内存空间)在低负载下被浪费。相反,如果采用 Serverless模式部署,由于其虚拟化的过程中引入了额外开销,加之运行环境、代码和数据 的加载开销,会使得容器化运行比本地执行消耗更多的资源,从而降低了最大峰值负载。更 糟糕的是,云提供商对于服务的一些限制可能会随着用户的需要日益增长,如并发请求阈 值,并限制最大峰值负载。 直观地说,从服务维护者的角度来看,在用户负载较高时采用基于IaaS模式的部 署,在负载较低时采用基于Serverless模式的部署,具有更高的成本效益。云供应商也能够 从这个解决方案中受益,因为满足相同服务质量(QoS)的前提下,可以支持的租户更多。 但是,IaaS模式和Serverless模式何时切换是一个很难确定的问题,这是因为 Serverless平台执行来自多个应用程序的函数调用,而容器池中的容器争用共享资源(例 如核心、IO、网络)。微服务的负载、无服务器平台上的实时争用以及微服务对多个共享资源 的敏感性共同决定了切换部署模式的时间点。传统的离线方法不适用于寻找合适的部署模 式切换时机,因为负载会受到实时争用行为的影响。
技术实现要素:
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于服务质量的微服 务调度方法、系统及电子设备,用于解决现有技术无法有效控制IaaS模式和Serverless模 式切换时机的技术问题。 为实现上述目的及其他相关目的,本发明提供一种基于服务质量的微服务调度方 法,包括:在Serverless模式下,根据运行时特征采集数据,获取当前微服务请求的实际平 均到达率λ;根据决策函数、微服务请求的平均服务速率和服务质量目标,计算出切换所需 4 CN 111597048 A 说 明 书 2/13 页 要达到的平均到达率λ(μ);若微服务请求的实际平均到达率λ小于等于切换所需要达到的 平均到达率λ(μ),则保持微服务部署于Serverless模式,若微服务请求的实际平均到达率λ 大于切换所需要达到的平均到达率λ(μ),则调整微服务部署于IaaS模式。 于本发明的一实施例中,所述平均服务速率更新的一种实现方式包括:根据捕获 共享资源的的多个资源争用量尺在不同负载下的延迟离线构建量尺压力与微服务负载延 迟的资源争用曲线;根据资源争用曲线、调整的不同量尺压力、微服务负载压力,获取性能 损失曲面;根据所述资源争用曲线、所述性能损失曲面、采样周期内微服务的负载速率和资 源争用量尺的压力预测更新微服务的性能损失;根据各共享资源的性能损失迭代更新所述 平均服务速率。 于本发明的一实施例中,所述资源争用量尺包括CPU/内存资源争用量尺、内存带 宽资源争用量尺以及网络带宽资源争用量尺。 于本发明的一实施例中,所述迭代更新所述平均服务速率的一种实现方式为: 其中,μn为每个容器的对请求的迭代更新的服务速率,L0为微服务单独在服务器上 运行不受影响时的延迟,Li为第i种共享资源的性能损失,α为执行请求的额外开销,wn为μn 的权重值。 于本发明的一实施例中,在Serverless部署模式中,还包括消除冷启动的预热容 器过程,需要预热的容器数量满足下式: 其中:QoSt为微服务的服务质量 目标,Vu为微服务的负载速率,n为预热容器的数量。 于本发明的一实施例中,所述采样周期满足下式: 其中,T为采用周期,cold_start为冷启动时间,QoSt为微服务的服务质量目标, texec为请求的实际执行时间,e为部署控制器允许的错误范围。 于本发明的一实施例中,所述决策函数为 其中,r为微服务满足服务质量目标的请求占比,ρ为请求实际平均到达率与平均 服务速率的比值,πn为M/M/k排队论模型中排队长度为n的概率,μ为服务速率,n为对应微服 务运行的容器数量,Td为服务质量目标下的请求延迟时间。 本发明的实施例还提供一种基于服务质量的微服务调度系统,包括:执行引擎,用 于配置管理Serverless模式和IaaS模式;控制器,与所述执行引擎相连,在Serverless模式 下,根据运行时特征采集数据,获取当前微服务请求的实际平均到达率λ,根据决策函数、微 5 CN 111597048 A 说 明 书 3/13 页 服务请求的平均服务速率和服务质量目标,计算出切换所需要达到的平均到达率λ(μ),若 微服务请求的实际平均到达率λ小于等于切换所需要达到的平均到达率λ(μ),则保持微服 务部署于Serverless模式,若微服务请求的实际平均到达率λ大于切换所需要达到的平均 到达率λ(μ),则调整微服务部署于IaaS模式;多资源争用监视器,用于更新所述决策函数的 参数。 于本发明的一实施例中,所述多资源争用监视器包括:资源争用曲线模块,用于根 据捕获共享资源的的多个资源争用量尺在不同负载下的延迟离线构建量尺压力与微服务 负载延迟的资源争用曲线;性能损失曲面模块,用于根据资源争用曲线、调整的不同量尺压 力、微服务负载压力,获取性能损失曲面;性能损失权重更新模块,用于根据所述资源争用 曲线、所述性能损失曲面、采样周期内微服务的负载速率和资源争用量尺的压力预测更新 微服务的性能损失;所述控制器包括服务速率更新模块,用于根据各共享资源的性能损失 迭代更新所述平均服务速率。 本发明的实施例还提供一种电子设备,包括处理器和存储器,所述存储器存储有 程序指令;所述处理器运行程序指令实现如上所述的基于服务质量的微服务调度方法。 如上所述,本发明的基于服务质量的微服务调度方法、系统及电子设备具有以下 有益效果: 本发明通过动态分析资源压力和负载特点,在保证微服务服务质量(QoS)的基础 之上,最小化资源使用,实现了动态部署IaaS模式和Serverless模式的切换,为工业界云计 算的资源管理方案提供技术参考。 附图说明 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于 本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他 的附图。 图1显示为本申请一实施例中的基于服务质量的微服务调度方法的整体流程示意 图。 图2显示为本申请一实施例中的基于服务质量的微服务调度方法中的服务速率更 新的一种实现方式流程示意图。 图3至5分别显示为本申请一实施例中的基于服务质量的微服务调度方法CPU/内 存资源争用量尺、内存带宽资源争用量尺以及网络带宽资源争用量尺对应的资源争用曲线 的示意图。 图6至8分别显示为本申请一实施例中的基于服务质量的微服务调度方法CPU/内 存资源争用量尺、内存带宽资源争用量尺以及网络带宽资源争用量尺对应的微服务性能损 失曲面的示意图。 图9显示为本申请一实施例中的基于服务质量的微服务调度方法中的服务速率更 新的具体过程示意图。 图10显示为本申请一实施例中的基于服务质量的微服务调度系统的原理框图。 图11显示为本申请一实施例中的基于服务质量的微服务调度系统的原理架构图。 6 CN 111597048 A 说 明 书 4/13 页 图12显示为本申请一实施例中的基于服务质量的微服务调度系统中多资源争用 监视器的原理框图。 元件标号说明 100           基于服务质量的微服务调度系统 110          执行引擎 120           控制器 121          服务速率更新模块 130           多资源争用监视器 131          资源争用曲线模块 132          性能损失曲面模块 133          性能损失权重更新模块 S100~S300   步骤 S210~S240   步骤
分享到:
收藏