一种资源调度方法及装置制造方法及图纸

技术编号:26596811 阅读:18 留言:0更新日期:2020-12-04 21:18
本发明专利技术提供了一种资源调度方法及装置,其中,该方法包括:将微服务的每个接口封装为一个函数,得到封装后的多个函数,其中,每个所述函数为可独立运行的服务,用于完成一个业务功能;通过所述多个函数对所述微服务的接口进行部署;根据所述多个函数进行资源调度,可以解决相关技术中微服务开发模式的服务器资源利用率低,且不能共享的问题,将微服务封装为函数,统一管理微服务对应的多个函数,通过多个函数统一进行资源调度,提高了服务器资源利用率,且实现了开发结果可以共享的效果。

【技术实现步骤摘要】
一种资源调度方法及装置
本专利技术涉及数据处理领域,具体而言,涉及一种资源调度方法及装置。
技术介绍
目前市场上微服务开发模式大致分为springcloud体系和service-mesh体系,提供的能力主要包括:注册中心,用于提供服务的注册和发现,健康检查,故障转移的功能。熔断降级,在微服务架构中通常会有多个服务层调用,基础服务的故障可能会导致级联故障,进而造成整个系统不可用的情况,此种情况下需要整个服务机构具备故障隔离的能力,避免某个服务异常影响全局。配置中心,随着微服务不断增多,每个服务器都有自己的对应的配置文件,配置文件太多不容易管理,需要抽离出来做单独的服务进行管理。服务网关,为了简化前端的调用逻辑,提供轻量级网关,实现服务的认证,授权,路由,限流等逻辑能力。链路跟踪,随着服务越来越多,服务之间的调用关系,某个请求的调用链,调用之间的耗时等都需要形成监控,以便更好的发现系统中的问题。其他的诸如负载均衡,灰度发布等等能力。在springcloud体系下,这些能力是需要侵入到系统内部的,以硬编码的方式提供能力,非java开发的系统无法使用。鉴于每个系统都涉及到以上功能的开发,所以诞生了service-mesh一种新的解决方案。Service-mesh方案提供了一种独立于原有应用系统运行的方式,通过sidecar的方式,在原有系统的宿主机上部署一套代理程序,接管该服务的出入流量,多个代理之间互相连接,形成一套网络通讯。所有的代理被中心端的控制面接管,控制面负责给代理分发限流,路由,鉴权,日志等等规则,代理端通过解析规则,代理转发原有系统的流量,实现了对原有系统的无侵入性,同时支持多种编程语言。service-mesh的出现,使得开发业务功能时,不需要考虑太多跟服务治理相关的内容,只需要专注于业务逻辑开发即可,极大的减少了开发复杂度。上述微服务开发模式下,服务器资源利用率低。目前每个应用申请一个虚拟机或者物理机,但是中央处理器CPU使用率只有6%-12%,内存的利用率基本在50%以下,且异地灾备机房的使用率不高。随着新系统不断增多,机房难以容纳下更多的机器,使得企业不得已搭建异地机房,使得企业的成本不断上升。成果不能共享,目前各个系统独立开发,有一大部分功能都涉及重复开发,例如用户管理,权限管理,加密规则,邮件服务等等,每个系统都会开发一份,从全局视角来看,这部分工作涉及重复建设,且如果有升级需求的时候,波及的面比较广,给系统升级带来风险。针对相关技术中微服务开发模式的服务器资源利用率低,且不能共享的问题,尚未提出解决方案。
技术实现思路
本专利技术实施例提供了一种资源调度方法及装置,以至少解决相关技术中微服务开发模式的服务器资源利用率低,且不能共享的问题。根据本专利技术的一个实施例,提供了一种资源调度方法,应用于平台,包括:将微服务的每个接口封装为一个函数,得到封装后的多个函数,其中,每个所述函数为可独立运行的服务,用于完成一个业务功能;通过所述多个函数对所述微服务的接口进行部署;根据所述多个函数进行资源调度。可选地,通过所述多个函数对所述微服务的接口进行部署包括:接收完成编辑后上传的所述多个函数的函数代码,并获取上传所述多个函数时选择的运行时框架;根据所述函数代码与对应的所述运行时框架生成所述多个函数,并存储所述多个函数;分别配置所述多个函数的运行时属性,完成所述多个函数的部署。可选地,分别配置所述多个函数的运行时属性,完成所述多个函数的部署包括:将所述多个函数中的每个函数的运行时属性抽象为一个功能对象;对所述功能对象进行监控。可选地,在分别配置所述多个函数的运行时属性,完成所述多个函数的部署之后,所述方法还包括:接收通过对所述功能对象进行监控确定资源存在更新时触发的通知消息;根据所述通知消息对所述多个函数进行更新。可选地,在分别配置所述多个函数的运行时属性,完成所述多个函数的部署之后,所述方法还包括:为所述多个函数设置初始化接口,通过所述初始化接口执行所述多个函数的函数代码,并生成所述多个函数的函数实例;为所述多个函数设置调用接口,通过所述调用接口调用所述多个函数的函数实例;为所述多个函数设置销毁接口,若所述多个函数中的目标函数在预设时间段内未被调用,通过所述销毁接口销毁所述目标函数初始化时的函数实例。可选地,在通过所述多个函数对所述微服务的接口进行部署之后,所述方法还包括:通过函数编排的功能,控制所述多个函数的部分函数协同完成一个或多个业务逻辑。可选地,所述方法还包括:接收检测到目标函数的运行时资源满足预设规则时发起的告警信息,其中,所述告警信息中携带有告警类型;在所述告警类型为扩容告警的情况下,判断所述目标函数运行时函数实例的数量是否大于或等于预设阈值;在判断结果为否的情况下,判断当前告警信息的发生频率是否大于预设频率阈值;在判断结果为否的情况下,对所述目标函数进行扩容处理;在所述告警类型为缩容告警的情况下,判断在预定时间内所述目标函数是否被访问;在判断结果为否的情况下,对所述目标函数进行缩容处理。可选地,在通过所述多个函数对所述微服务的接口进行部署之后,所述方法还包括:接收触发提前调整所述多个函数的函数实例数量的触发指令;根据所述触发指令对所述多个函数的使用情况进行分析;在所述流量高峰发生前预设时间调整所述多个函数的函数实例数量。可选地,在所述流量高峰发生前预设时间调整所述多个函数的函数实例数量之后,所述方法还包括:接收调用所述多个函数的调用请求;基于负载均衡,将所述调用请求路由到所述多个函数的函数实例中。可选地,所述方法还包括:当检测到目标函数实例出现宕机或不可用的情况下,生成一个新的函数实例;将所述目标函数实例重路由到所述新的函数实例中。根据本专利技术的另一个实施例,还提供了一种资源调度装置,应用于平台,包括:封装模块,用于将微服务的每个接口封装为一个函数,得到封装后的多个函数,其中,每个所述函数为可独立运行的服务,用于完成一个业务功能;部署模块,用于通过所述多个函数对所述微服务的接口进行部署;资源调度模块,用于根据所述多个函数进行资源调度。可选地,所述部署模块包括:获取子模块,用于接收完成编辑后上传的所述多个函数的函数代码,并获取上传所述多个函数时选择的运行时框架;生成子模块,用于根据所述函数代码与对应的所述运行时框架生成所述多个函数,并存储所述多个函数;配置子模块,用于分别配置所述多个函数的运行时属性,完成所述多个函数的部署。可选地,所述配置子模块包括:抽象单元,用于将所述多个函数中的每个函数的运行时属性抽象为一个功能对象;监控单元,用于对所述功能对象进行监控。本文档来自技高网
...

【技术保护点】
1.一种资源调度方法,其特征在于,应用于平台,包括:/n将微服务的每个接口封装为一个函数,得到封装后的多个函数,其中,每个所述函数为可独立运行的服务,用于完成一个业务功能;/n通过所述多个函数对所述微服务的接口进行部署;/n根据所述多个函数进行资源调度。/n

【技术特征摘要】
1.一种资源调度方法,其特征在于,应用于平台,包括:
将微服务的每个接口封装为一个函数,得到封装后的多个函数,其中,每个所述函数为可独立运行的服务,用于完成一个业务功能;
通过所述多个函数对所述微服务的接口进行部署;
根据所述多个函数进行资源调度。


2.根据权利要求1所述的方法,其特征在于,通过所述多个函数对所述微服务的接口进行部署包括:
接收完成编辑后上传的所述多个函数的函数代码,并获取上传所述多个函数时选择的运行时框架;
根据所述函数代码与对应的所述运行时框架生成所述多个函数,并存储所述多个函数;
分别配置所述多个函数的运行时属性,完成所述多个函数的部署。


3.根据权利要求2所述的方法,其特征在于,分别配置所述多个函数的运行时属性,完成所述多个函数的部署包括:
将所述多个函数中的每个函数的运行时属性抽象为一个功能对象;
对所述功能对象进行监控。


4.根据权利要求3所述的方法,其特征在于,在分别配置所述多个函数的运行时属性,完成所述多个函数的部署之后,所述方法还包括:
接收通过对所述功能对象进行监控确定资源存在更新时触发的通知消息;
根据所述通知消息对所述多个函数进行更新。


5.根据权利要求2所述的方法,其特征在于,在分别配置所述多个函数的运行时属性,完成所述多个函数的部署之后,所述方法还包括:
为所述多个函数设置初始化接口,通过所述初始化接口执行所述多个函数的函数代码,并生成所述多个函数的函数实例;
为所述多个函数设置调用接口,通过所述调用接口调用所述多个函数的函数实例;
为所述多个函数设置销毁接口,若所述多个函数中的目标函数在预设时间段内未被调用,通过所述销毁接口销毁所述目标函数初始化时的函数实例。


6.根据权利要求1所述的方法,其特征在于,在通过所述多个函数对所述微服务的接口进行部署之后,所述方法还包括:
通过函数编排的功能,控制所述多个函数的部分函数协同完成一个或多个业务逻辑。


7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收检测到目标函数的运行时资源满足预设规...

【专利技术属性】
技术研发人员:亢占雷姚鹏程周晓英黄佐伟刘尔凯丁永建李璠
申请(专利权)人:光大科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1