本发明实施例涉及网络架构,尤其涉及一种微服务动态调度的方法、装置、设备及介质。
背景技术:
1、微服务是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的服务组成。随着企业微服务化进程的逐渐深入,微服务规模不断扩大,服务之间的调用关系的日趋复杂。从部署架构上,无论是虚拟机或容器化的部署模式,服务大多会部署在多台服务器上。
2、目前,每个业务请求的服务调用链路会涉及到多个服务,从而导致服务链路会跨越多台服务器。为了充分利用服务器的资源,采用人工调度的方式确定在各服务器上部署何种服务。
3、然而,跨服务器的调用会因为网络等原因损耗一定的性能,导致业务请求无法及时响应。此外,人工调度的方式费时费力,无法实现服务器中不同服务的高效调度。
技术实现思路
1、本发明实施例提供了一种微服务动态调度的方法、装置、设备及介质,以实现一条服务调用链路跨越尽量少的服务器,提升微服务场景中的服务调用性能,动态高效对服务器部署的服务进行调度。
2、第一方面,本发明提供了一种微服务动态调度的方法,该方法包括:
3、确定微服务对应的多个目标服务以及与所述目标服务对应的目标服务器;
4、获取各所述目标服务器在当前时刻下的服务部署信息,基于所述当前时刻获取多个所述目标服务对应的多个目标类别;其中,所述目标类别基于预设时长内多个所述目标服务之间的调用链路确定;
5、基于所述目标类别以及所述服务部署信息,对所述微服务进行动态调度。
6、第二方面,本发明提供了一种微服务动态调度的装置,该装置包括:
7、服务确定模块,用于确定微服务对应的多个目标服务以及与所述目标服务对应的目标服务器;
8、目标类别获取模块,用于获取各所述目标服务器在当前时刻下的服务部署信息,基于所述当前时刻获取多个所述目标服务对应的多个目标类别;
9、服务动态调度模块,用于基于所述目标类别以及所述服务部署信息,对所述微服务进行动态调度。
10、第三方面,本发明提供了一种电子设备,包括:
11、至少一个处理器;以及
12、与至少一个处理器通信连接的存储器;其中,
13、存储器存储有可被至少一个处理器执行的计算机程序,计算机程序被至少一个处理器执行,以使至少一个处理器能够执行本发明任一实施例的微服务动态调度的方法。
14、第四方面,本发明提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使处理器执行时实现本发明任一实施例的微服务动态调度的方法。
15、本发明实施例提供的技术方案,通过确定微服务对应的多个目标服务以及与目标服务对应的目标服务器,获取各目标服务器在当前时刻下的服务部署信息,基于当前时刻获取多个目标服务对应的多个目标类别,其中,目标类别基于预设时长内多个目标服务之间的调用链路确定,从而基于目标类别以及服务部署信息,对微服务进行动态调度。本发明实施例,解决了微服务场景中跨服务器调用服务损耗服务器性能的问题,通过比对目标类别中所包含的目标服务以及当前各目标服务器所对应的服务部署信息,对微服务进行动态调度,实现了一条服务调用链路跨越尽量少的服务器,提升微服务场景中的服务调用性能,实现各服务器动态高效的服务调度。
16、应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
1.一种微服务动态调度的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,在所述基于所述当前时刻获取多个所述目标服务对应的多个目标类别之前,还包括:
3.根据权利要求2所述的方法,其特征在于,所述基于所述调用链路确定每两个所述目标服务之间的依赖关系权重,包括:
4.根据权利要求2所述的方法,其特征在于,所述基于各所述依赖关系权重将多个所述目标服务划分为多个目标类别,包括:
5.根据权利要求1所述的方法,其特征在于,所述基于所述目标类别以及所述服务部署信息,对所述微服务进行动态调度,包括:
6.根据权利要求1所述的方法,其特征在于,若所述目标服务存在至少一个备份服务,所述方法还包括:
7.根据权利要求1所述的方法,其特征在于,所述根据所述服务消费方对应的目标服务器和所述服务调用方对应的目标服务器,确定所述服务调用方对应的调用权重,包括:
8.一种微服务动态调度的装置,其特征在于,包括:
9.一种电子电子设备,其特征在于,所述电子设备包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的微服务动态调度的方法。