本申请涉及服务调度,具体涉及一种微服务的调度方法、装置、设备和存储介质。
背景技术:
1、在微服务调度技术领域的云原生环境中,一个服务集群会出现数以千计的微服务,那么需要对各个微服务的调用关系进行管理和存储,在服务部署期间,运维人员会针对不同的微服务预估资源使用情况对各个微服务进行相应的调度。
2、但是资源的使用情况会发生变化,若各个微服务的服务值,比如cpu、内存值等设置的不合理会影响整体集群的资源利用率,不利于服务集群的整体运行。
技术实现思路
1、有鉴于此,本申请提供了一种微服务的调度方法、装置、设备和存储介质,用于解决资源的使用情况会发生变化,若各个微服务的服务值,比如cpu、内存值等设置的不合理会影响整体集群的资源利用率,不利于服务集群的整体运行。
2、为实现以上目的,现提出的方案如下:
3、第一方面,一种微服务的调度方法,包括:
4、响应于对服务集群中的各个微服务进行调度的请求指令,从所述服务集群中的各个计算节点中选取目标计算节点;
5、将预先获取的目标控制器部署在所述目标计算节点,得到独立计算节点;
6、将各个所述微服务发送至所述独立计算节点,以供所述独立计算节点确定各个微服务的类别、第一服务值以及第二服务值;
7、基于所述各个微服务的类别、第一服务值以及第二服务值,将各个微服务发送至除所述独立计算节点之外的各个计算节点,以完成对各个微服务的调度过程。
8、优选地,所述独立计算节点确定各个微服务的类别的过程,包括:
9、确定每两个微服务之间的调用信息,并组合为调用信息集合;
10、将所述调用信息集合进行降维,得到与所述调用关系集合对应的二维数据集;
11、将所述二维数据集进行聚类,得到各个所述微服务的类别。
12、优选地,所述独立计算节点确定各个微服务的第一服务值的过程,包括:
13、针对每一个微服务,获取该微服务在第一预设时间段内所对应的各个处理器值;
14、将各个所述处理器值的均值作为与该微服务对应的处理器最小值;
15、将所述处理器最小值作为该微服务的第一服务值。
16、优选地,所述独立计算节点确定各个微服务的第二服务值的过程,包括:
17、针对每一个微服务,获取该微服务在第一预设时间段内所对应的各个内存值;
18、将各个所述内存值的均值作为与该微服务对应的内存最小值;
19、将所述内存最小值作为该微服务的第二服务值。
20、优选地,所述基于所述各个微服务的类别、第一服务值以及第二服务值,将各个微服务发送至除所述独立计算节点之外的各个计算节点,包括:
21、针对每一种类别,将类别相同的各个微服务作为与该类别对应的各个软亲和服务;
22、将与该类别对应的各个软亲和服务组合为与该类别对应的微服务组;
23、基于所述微服务组中的各个软亲和服务的第一服务值和第二服务值,从除所述独立计算节点之外的各个计算节点确定所述微服务组所对应的响应节点;
24、将所述微服务组发送至所述响应节点。
25、优选地,所述确定每两个微服务之间的调用信息,并组合为调用信息集合,包括:
26、针对每一个微服务,判断所述独立计算节点中是否存在与该微服务对应的第一服务;
27、若所述独立计算节点中存在与该微服务对应的第一服务,则获取所述第一服务的第一调用信息;
28、基于所述第一调用信息,确定该微服务与其他各个微服务之间的相互调用关系;
29、将每一个微服务与其他各个微服务之间的相互调用关系进行整合,得到所述调用信息集合。
30、优选地,所述目标控制器为mutatingadmission webhooks准入控制器。
31、第二方面,一种微服务的调度装置,包括:
32、目标计算节点选取模块,用于响应于对服务集群中的各个微服务进行调度的请求指令,从所述服务集群中的各个计算节点中选取目标计算节点;
33、部署模块,用于将预先获取的目标控制器部署在所述目标计算节点,得到独立计算节点;
34、参数确定模块,用于将各个所述微服务发送至所述独立计算节点,以供所述独立计算节点确定各个微服务的类别、第一服务值以及第二服务值;
35、发送模块,用于基于所述各个微服务的类别、第一服务值以及第二服务值,将各个微服务发送至除所述独立计算节点之外的各个计算节点,以完成对各个微服务的调度过程。
36、第三方面,一种微服务的调度设备,包括存储器和处理器;
37、所述存储器,用于存储程序;
38、所述处理器,用于执行所述程序,实现如第一方面所述的微服务的调度方法的各个步骤。
39、第四方面,一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如第一方面所述的微服务的调度方法的各个步骤。
40、从上述技术方案可以看出,本申请通过响应于对服务集群中的各个微服务进行调度的请求指令,从所述服务集群中的各个计算节点中选取目标计算节点;将预先获取的目标控制器部署在所述目标计算节点,得到独立计算节点;将各个所述微服务发送至所述独立计算节点,以供所述独立计算节点确定各个微服务的类别、第一服务值以及第二服务值;基于所述各个微服务的类别、第一服务值以及第二服务值,将各个微服务发送至除所述独立计算节点之外的各个计算节点,以完成对各个微服务的调度过程。该方案将目标控制器部署在目标计算节点上,得到独立计算节点,然后将所有微服务都发送至该独立计算节点,以得到每一个微服务的参数,包括类别、第一服务值和第二服务值,然后根据这些参数将各个微服务进行调度,可以优化调度结果,确保服务集群的高效运行。
1.一种微服务的调度方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述独立计算节点确定各个微服务的类别的过程,包括:
3.根据权利要求1所述的方法,其特征在于,所述独立计算节点确定各个微服务的第一服务值的过程,包括:
4.根据权利要求1所述的方法,其特征在于,所述独立计算节点确定各个微服务的第二服务值的过程,包括:
5.根据权利要求1所述的方法,其特征在于,所述基于所述各个微服务的类别、第一服务值以及第二服务值,将各个微服务发送至除所述独立计算节点之外的各个计算节点,包括:
6.根据权利要求2所述的方法,其特征在于,所述确定每两个微服务之间的调用信息,并组合为调用信息集合,包括:
7.根据权利要求1所述的方法,其特征在于,所述目标控制器为mutatingadmissionwebhooks准入控制器。
8.一种微服务的调度装置,其特征在于,包括:
9.一种微服务的调度设备,其特征在于,包括存储器和处理器;
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1-7任一项的微服务的调度方法的各个步骤。