CN108319501B - 一种基于微服务网关的弹性资源供给方法及系统 - Google Patents

一种基于微服务网关的弹性资源供给方法及系统 Download PDF

Info

Publication number
CN108319501B
CN108319501B CN201711435322.9A CN201711435322A CN108319501B CN 108319501 B CN108319501 B CN 108319501B CN 201711435322 A CN201711435322 A CN 201711435322A CN 108319501 B CN108319501 B CN 108319501B
Authority
CN
China
Prior art keywords
service
load state
time
list
response time
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
Application number
CN201711435322.9A
Other languages
English (en)
Other versions
CN108319501A (zh
Inventor
余阳
严有强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Yat Sen University
Original Assignee
Sun Yat Sen University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sun Yat Sen University filed Critical Sun Yat Sen University
Priority to CN201711435322.9A priority Critical patent/CN108319501B/zh
Publication of CN108319501A publication Critical patent/CN108319501A/zh
Application granted granted Critical
Publication of CN108319501B publication Critical patent/CN108319501B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种基于微服务网关的弹性资源供给方法,包括以下步骤:S1.数据采集器周期性从网关处统计用户访问的记录详情,通过对记录详情的预处理,统计出各服务的响应时间;S2.服务调度器周期性向数据采集器请求统计到的各个服务的响应时间数据,然后分别基于各个服务的响应时间数据构建相应的预测模型,对各个服务未来一段时间内的响应时间数据进行预测;S3.服务调度器根据预测的响应时间数据判断各个服务在未来一段时间内的负载状态,形成负载列表,交由调度执行器处理;S4.调度执行器获得负载列表,结合服务间的调用拓扑关系简化负载列表,保护冷却时间时间内服务调度,然后根据简化后的负载列表执行相应的调度。

Description

一种基于微服务网关的弹性资源供给方法及系统
技术领域
本发明涉及互联网技术领域,更具体地,涉及一种基于微服务网关的弹性资源供给方法及系统,适用于微服务框架服务负载调度领域,用于解决突发负载场景下的容器资源弹性供给问题。
背景技术
互联网发展日新月异,集群技术不断更新换代,传统的单体式应用随着时间推移,弊端不断显现。微服务架构(Microservice)顺应了互联网应用设计的思想,其细粒度模块划分、服务化接口封装、轻量级(Restful)通信交互,具有以下优势:(1)模块自治性强、复杂度可控,模块单独开发、更新、部署,更好的适应互联网发展要求;(2)模块扩展性好、容错性高,能很好满足需求变化日趋频繁的要求,以及用户量难预测,资源动态分配的需求;(3)配合服务发现、负载均衡,能将服务进行横向扩展,提高服务的并行处理能力。
面对激增的互联网用户,微服务集群中的某些服务随时面临着负载过大的情况。当微服务集群中的服务面临过大负载时,用户将面临等待时间过长,或者出现拒绝访问的情况。当微服务集群中某些服务面对大量、频繁负载时,现阶段一方面可以通过提高部署这些微服务的服务器处理性能,来提高集群整理性能,但单个服务器性能有上限,因此微服务总体性能也有上限;另一方面,可以通过适当扩展容器实例、扩大微服务集群容量来提高集群的整体性能,这种方法更加灵活、方便。
在面对动态的负载变化时,一方面,要保证服务的可用性和减少用户请求的等待时间,保证服务质量。另外一方面,要最大化发挥资源价值,避免造成浪费。由于在同一时间内,不同服务的负载是不一的,因此提出一种合理的服务资源调度方案,以尽可能的减少资源损耗而保证用户服务质量变得非常关键。
发明内容
本发明通过对现有的微服务负载调度的研究,借助新兴的Docker容器技术轻量化,启动快等特点,提出一种基于微服务网关的弹性资源供给方法,在负载变化的情况下,以用户实际响应时间为依据,采用实时响应式伸缩容器,最终优化资源利用保证服务质量。
为实现以上发明目的,采用的技术方案是:
一种基于微服务网关的弹性资源供给方法,包括以下步骤:
S1.数据采集器周期性从网关处统计用户访问的记录详情,通过对记录详情的预处理,统计出各服务的响应时间;
S2.服务调度器周期性向数据采集器请求统计到的各个服务的响应时间数据,然后分别基于各个服务的响应时间数据构建相应的预测模型,对各个服务未来一段时间内的响应时间数据进行预测;
S3.服务调度器根据预测的响应时间数据判断各个服务在未来一段时间内的负载状态,形成负载列表,交由调度执行器处理;
S4.调度执行器获得负载列表,结合服务间的调用拓扑关系简化负载列表,保护冷却时间时间内服务调度,然后根据简化后的负载列表执行相应的调度。
优选地,所述步骤S2基于时序分析方法、机器学习方法、模式匹配方法或自回归时间序列方法构建预测模型。
优选地,所述步骤S2基于自回归时间序列方法构建预测模型的具体过程如下:
Figure BDA0001525712710000021
其中Xt为待预测的响应时间数据,
Figure BDA0001525712710000022
为待估计的自回归系数,随机项ut是相互独立的白噪声序列,且服从均值为0、方差为σ2的正态分布;Xt-1,…,Xt-p为数据采集器统计到的服务在不同时刻的响应时间数据。
优选地,所述步骤S3判断各个服务在未来一段时间内的负载状态的具体过程如下:
Figure BDA0001525712710000023
Sup=Cover>k1×N?true:false
Figure BDA0001525712710000031
Sdown=Crelax>k2×N?true:false
其中Cover表示服务在未来一段时间内响应时间大于或等于限制值Rlimit的时刻点的数量,rj表示未来一段时间内的第j个时刻点,N表示未来一段时间内的时刻点的数量;k1为设定的系数,当Sup为true时,判定服务在未来一段时间内的负载状态为高负载状态,当Sup为false时,判定服务在未来一段时间内的负载状态为非高负载状态;Crelax表示服务在未来一段时间内响应时间小于或等于限制值Rlower的时刻点的数量,k2为设定的系数,当Sdown为true时,判定服务在未来一段时间内的负载状态为低负载状态,当Sdown为false时,判定服务在未来一段时间内的负载状态为非低负载状态。
优选地,所述步骤S4简化负载列表的具体过程如下:
对于未来一段时间内为高负载状态的服务,若高负载状态的服务Xi、Xj之间存在着相互调用关系,则按以下方法进行简化:
Figure BDA0001525712710000032
其中LISTover表示高负载状态的服务列表,Xi归因于Xj表示服务Xi存在调用服务Xj
同时本发明还提供了一种应用以上方法的系统,其具体的方案如下:包括数据采集器、服务调度器、调度执行器。
附图说明
图1为方法的流程示意图。
图2为判断各个服务在未来一段时间内的负载状态的具体过程图。
图3为简化的示例图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
以下结合附图和实施例对本发明做进一步的阐述。
实施例1
本发明提供了一种基于微服务网关的弹性资源供给方法,如图1所示,其具体的方案如下:
步骤一、数据采集器周期性从网关处统计用户访问的记录详情,通过对记录详情进行分类、加权等的预处理,统计出各服务的响应时间;数据采集器为了保证调度准确性,应保证获取每个服务的至少一条记录详情,因此在周期内,数据采集器能模拟用户对没有访问的服务进行访问。
步骤二、服务调度器周期性向数据采集器请求统计到的各个服务的响应时间数据,然后分别基于各个服务的响应时间数据构建相应的预测模型,对各个服务未来一段时间内的响应时间数据进行预测。
本实施例中,本发明基于时序分析方法、机器学习方法、模式匹配方法或自回归时间序列方法构建预测模型。其中,基于自回归时间序列方法构建预测模型的具体过程如下:
Figure BDA0001525712710000041
其中Xt为待预测的响应时间数据,
Figure BDA0001525712710000042
为待估计的自回归系数,随机项ut是相互独立的白噪声序列,且服从均值为0、方差为σ2的正态分布;Xt-1,…,Xt-p为数据采集器统计到的服务在不同时刻的响应时间数据。
步骤三、服务调度器根据预测的响应时间数据判断各个服务在未来一段时间内的负载状态,形成负载列表,交由调度执行器处理。
本实施例中,如图2所示,判断各个服务在未来一段时间内的负载状态的具体过程如下:
Figure BDA0001525712710000043
Sup=Cover>k1×N?true:false
Figure BDA0001525712710000051
Sdown=Crelax>k2×N?true:false
其中Cover表示服务在未来一段时间内响应时间大于或等于限制值Rlimit的时刻点的数量,rj表示未来一段时间内的第j个时刻点,N表示未来一段时间内的时刻点的数量;k1为设定的系数,当Sup为true时,判定服务在未来一段时间内的负载状态为高负载状态,当Sup为false时,判定服务在未来一段时间内的负载状态为非高负载状态;Crelax表示服务在未来一段时间内响应时间小于或等于限制值Rlower的时刻点的数量,k2为设定的系数,当Sdown为true时,判定服务在未来一段时间内的负载状态为低负载状态,当Sdown为false时,判定服务在未来一段时间内的负载状态为非低负载状态。
步骤四、调度执行器获得负载列表,结合服务间的调用拓扑关系简化负载列表,保护冷却时间时间内服务调度,然后根据简化后的负载列表执行相应的调度。
本实施例中,简化负载列表的具体过程如下:
对于未来一段时间内为高负载状态的服务,若高负载状态的服务Xi、Xj之间存在着相互调用关系,则按以下方法进行简化:
Figure BDA0001525712710000052
其中LISTover表示高负载状态的服务列表,Xi归因于Xj表示服务Xi存在调用服务Xj
基本原理如图3示例:高负载状态的服务s1、s2、s3、s4,假设实际高负载状态的服务为s2、s3、s4。第一次执行调度简化结果将为s3、s4,假设s3、s4达到要求,剩下的高负载状态的服务为s1,s2,再一次简化的结果将为s2。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (4)

1.一种基于微服务网关的弹性资源供给方法,其特征在于:包括以下步骤:
S1.数据采集器周期性从网关处统计用户访问的记录详情,通过对记录详情的预处理,统计出各服务的响应时间;
S2.服务调度器周期性向数据采集器请求统计到的各个服务的响应时间数据,然后分别基于各个服务的响应时间数据构建相应的预测模型,对各个服务未来一段时间内的响应时间数据进行预测;
S3.服务调度器根据预测的响应时间数据判断各个服务在未来一段时间内的负载状态,形成负载列表,交由调度执行器处理;
所述判断各个服务在未来一段时间内的负载状态的具体过程如下:
Figure FDA0003364668110000011
Sup=Cover>k1×N?true:false
Figure FDA0003364668110000012
Sdown=Crelax>k2×N?true:false
其中Cover表示服务在未来一段时间内响应时间大于或等于限制值Rlimit的时刻点的数量,rj表示未来一段时间内的第j个时刻点,N表示未来一段时间内的时刻点的数量;k1为设定的系数,当Sup为true时,判定服务在未来一段时间内的负载状态为高负载状态,当Sup为false时,判定服务在未来一段时间内的负载状态为非高负载状态;Crelax表示服务在未来一段时间内响应时间小于或等于限制值Rlower的时刻点的数量,k2为设定的系数,当Sdown为true时,判定服务在未来一段时间内的负载状态为低负载状态,当Sdown为false时,判定服务在未来一段时间内的负载状态为非低负载状态;
S4.调度执行器获得负载列表,结合服务间的调用拓扑关系简化负载列表,保护冷却时间内服务调度,然后根据简化后的负载列表执行相应的调度;
简化负载列表的具体过程如下:
对于未来一段时间内为高负载状态的服务,若高负载状态的服务Xi、Xj之间存在着相互调用关系,则按以下方法进行简化:
构建两层FOR循环嵌套,内层FOR循环遍历LISTover中所有Xj,外层FOR循环遍历LISTover中所有Xi,当Xi归因于Xj时,从LISTover中删除Xi;LISTover表示高负载状态的服务列表,Xi归因于Xj表示服务Xi存在调用服务Xj
2.根据权利要求1所述的基于微服务网关的弹性资源供给方法,其特征在于:所述步骤S2基于时序分析方法、机器学习方法、模式匹配方法或自回归时间序列方法构建预测模型。
3.根据权利要求2所述的基于微服务网关的弹性资源供给方法,其特征在于:所述步骤S2基于自回归时间序列方法构建预测模型的具体过程如下:
Figure FDA0003364668110000021
其中Xt为待预测的响应时间数据,
Figure FDA0003364668110000022
为待估计的自回归系数,随机项ut是相互独立的白噪声序列,且服从均值为0、方差为σ2的正态分布;Xt-1,…,Xt-p为数据采集器统计到的服务在不同时刻的响应时间数据。
4.一种根据权利要求1~3任一项所述方法的系统,其特征在于:包括数据采集器、服务调度器、调度执行器。
CN201711435322.9A 2017-12-26 2017-12-26 一种基于微服务网关的弹性资源供给方法及系统 Active CN108319501B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711435322.9A CN108319501B (zh) 2017-12-26 2017-12-26 一种基于微服务网关的弹性资源供给方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711435322.9A CN108319501B (zh) 2017-12-26 2017-12-26 一种基于微服务网关的弹性资源供给方法及系统

Publications (2)

Publication Number Publication Date
CN108319501A CN108319501A (zh) 2018-07-24
CN108319501B true CN108319501B (zh) 2022-01-14

Family

ID=62892889

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711435322.9A Active CN108319501B (zh) 2017-12-26 2017-12-26 一种基于微服务网关的弹性资源供给方法及系统

Country Status (1)

Country Link
CN (1) CN108319501B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109584390B (zh) * 2018-11-26 2021-04-27 东南大学 一种基于微服务的高速公路计费系统
CN109618002B (zh) * 2019-01-11 2022-07-05 武汉斗鱼鱼乐网络科技有限公司 一种微服务网关优化方法、装置及存储介质
CN114363153B (zh) * 2020-09-27 2024-01-26 中国电信股份有限公司 熔断器和服务的自适应熔断方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102739469A (zh) * 2012-05-28 2012-10-17 重庆大学 一种基于时间序列的Web服务响应时间预测方法
CN104506609A (zh) * 2014-12-22 2015-04-08 合一网络技术(北京)有限公司 自动监测服务器状态并自适应调整服务的方法及其装置
CN106502799A (zh) * 2016-12-30 2017-03-15 南京大学 一种基于长短时记忆网络的主机负载预测方法
CN106528266A (zh) * 2016-10-28 2017-03-22 柏域信息科技(上海)有限公司 一种云计算系统中的资源动态调整方法及装置
CN107045455A (zh) * 2017-06-19 2017-08-15 华中科技大学 一种基于负载预测的Docker Swarm集群资源调度优化方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102279771B (zh) * 2011-09-02 2013-07-10 北京航空航天大学 一种虚拟化环境中自适应按需资源分配的方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102739469A (zh) * 2012-05-28 2012-10-17 重庆大学 一种基于时间序列的Web服务响应时间预测方法
CN104506609A (zh) * 2014-12-22 2015-04-08 合一网络技术(北京)有限公司 自动监测服务器状态并自适应调整服务的方法及其装置
CN106528266A (zh) * 2016-10-28 2017-03-22 柏域信息科技(上海)有限公司 一种云计算系统中的资源动态调整方法及装置
CN106502799A (zh) * 2016-12-30 2017-03-15 南京大学 一种基于长短时记忆网络的主机负载预测方法
CN107045455A (zh) * 2017-06-19 2017-08-15 华中科技大学 一种基于负载预测的Docker Swarm集群资源调度优化方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
移动云计算环境下网络感知的虚拟机放置算法研究;常德成;《中国优秀硕士学位论文全文数据库信息科技辑(月刊)》;20141015(第10期);第I139-85页 *

Also Published As

Publication number Publication date
CN108319501A (zh) 2018-07-24

Similar Documents

Publication Publication Date Title
WO2020181896A1 (zh) 一种多智能体强化学习调度方法、系统及电子设备
CN110231976B (zh) 一种基于负载预测的边缘计算平台容器部署方法及系统
CN103516807B (zh) 一种云计算平台服务器负载均衡系统及方法
Zheng et al. An approach for cloud resource scheduling based on Parallel Genetic Algorithm
Alqahtani et al. Reliable scheduling and load balancing for requests in cloud-fog computing
CN108319501B (zh) 一种基于微服务网关的弹性资源供给方法及系统
CN103067293B (zh) 负载均衡设备的连接管理和复用的方法和系统
CN106385468B (zh) Web集群的可预测动态负载均衡方法
CN109672709B (zh) 一种混合云业务调度系统及方法
CN112363813A (zh) 资源调度方法、装置、电子设备和计算机可读介质
CN106844051A (zh) 一种边缘计算环境中功耗优化的负载任务迁移算法
CN104902001B (zh) 基于操作系统虚拟化的Web请求负载均衡方法
CN104270322B (zh) 面向物联网设备接入处理平台的自适应负载均衡调度机制
CN111813502B (zh) 面向工业边缘节点的计算资源管理调度方法
CN108182105A (zh) 基于Docker容器技术的局部动态迁移方法及控制系统
CN103916438B (zh) 基于负载预测的云测试环境调度方法及其系统
CN104298550A (zh) 一种面向Hadoop的动态调度方法
CN110413389A (zh) 一种资源不均衡Spark环境下的任务调度优化方法
CN109783225B (zh) 一种多租户大数据平台的租户优先级管理方法及系统
Haghbayan et al. Mappro: Proactive runtime mapping for dynamic workloads by quantifying ripple effect of applications on networks-on-chip
CN103841129B (zh) 云计算的资源信息采集服务器和客户端、信息处理方法
CN105491150A (zh) 基于时间序列的负载均衡处理方法及系统
CN113110914A (zh) 一种基于微服务架构的物联网平台构建方法
CN113806018A (zh) 基于神经网络和分布式缓存的Kubernetes集群资源混合调度方法
CN116340003A (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