本公开涉及计算机网络的,具体地涉及扩缩容控制方法。另外,本公开还涉及相关装置、电子设备和程序产品。
背景技术:
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、本公开的一些实施例中,所述根据服务调用链路上的各调用节点中的服务的更新数量,对所述服务调用链路中各个调用节点进行扩缩容,包括:
31、针对服务调用链路上的各调用节点,执行如下步骤:
32、当所述调用节点中服务的更新数量大于更新前的数量时,调用可用资源信息对应的资源,根据所述调用节点中的服务的更新数量,增加部署所述调用节点中的服务。
33、本公开的一些实施例中,还包括:
34、统计各调用节点在统计周期内的执行扩缩容的次数和服务的数量,根据各调用节点扩缩容的次数和服务数量,更新各调用节点的节点指标阈值、各调用节点中的服务的预设数量和各调用节点中的服务的被上游调用指标阈值。
35、本公开的实施例另一方面,还提供一种扩缩容控制装置,包括获取模块、扩缩容方案形成模块和执行模块,其中,
36、所述获取模块被配置为获取可用资源信息和目标服务系统的客户调用需求信息,其中,所述目标服务系统包括服务调用链路,所述服务调用链路上各个调用节点上部署有服务,每个服务配置有占用资源量、被上游调用指标阈值,各个调用节点配置有节点指标阈值,服务调用链路上除最下游调用节点外的调用节点还配置有下游调用需求;
37、所述扩缩容方案形成模块被配置为从服务调用链路的最上游调用节点向最下游调用节点遍历服务调用链路上各个调用节点,根据各个调用节点的节点指标阈值、调用需求信息、服务的数量、单个服务的占用资源量和被上游调用指标阈值,确定各个调用节点的服务的更新数量并更新可用资源信息;
38、所述执行模块被配置为根据服务调用链路上的各调用节点中的服务的更新数量,对所述服务调用链路中各个调用节点进行扩缩容。
39、在本公开实施例中,提供计算机可读存储介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现任一本公开实施例的扩缩容控制方法。
40、在本公开实施例中,提供电子设备,包括:处理器和存储有计算机程序的存储器,所述处理器被配置为在运行计算机程序时执行任一本公开实施例的扩缩容控制方法。
41、本公开实施例提出扩缩容控制方法、装置,从调用上游向下游遍历服务调用链路上各调用节点,获取各个调用节点的调用需求,节点中的现有的服务数量,节点中服务的调用指标阈值以及节点本身的指标阈值,逐步从上游向下游更新调用节点中的服务数量,在上游更新服务数量的情况下,下游也随之能够根据动态的服务数量调整调用节点中的服务数量,从而能够保证整个服务调用链路满足客户调用需求。本公开实施例中各个节点的指标包括与调用节点相关的节点指标阈值和与服务相关的被上游调用指标阈值,能够充分覆盖扩缩容的评估条件,从而保证自动化扩缩容的可靠性。
42、本公开实施例的其他可选特征和技术效果一部分在下文描述,一部分可通过阅读本文而明白。
技术实现思路
1.一种扩缩容控制方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的方法,其特征在于,所述确定各个调用节点的服务的更新数量并更新可用资源信息,包括:
3.根据权利要求2所述的方法,其特征在于,确定所述当前调用节点的调用需求信息,包括:
4.根据权利要求2所述的方法,其特征在于,所述被上游调用指标阈值包括扩容指标阈值,所述根据当前调用节点的节点指标阈值、调用需求信息、服务的数量、单个服务的占用资源量和被上游调用指标阈值,确定当前调用节点的服务的预计数量,包括:
5.根据权利要求2所述的方法,其特征在于,所述被上游调用指标阈值包括缩容指标阈值,所述根据当前调用节点的节点指标阈值、调用需求信息、服务的数量、单个服务的占用资源量和被上游调用指标阈值,确定当前调用节点的服务的预计数量,包括:
6.根据权利要求2所述的方法,其特征在于,所述响应于当前可用资源信息满足当前调用节点的服务的预计数量和占用资源量的需求,确定当前调用节点的服务的更新数量并更新可用资源信息,包括:
7.根据权利要求1所述的方法,其特征在于,所述根据服务调用链路上的各调用节点中的服务的更新数量,对所述服务调用链路中各个调用节点进行扩缩容,包括:
8.根据权利要求1所述的方法,其特征在于,所述根据服务调用链路上的各调用节点中的服务的更新数量,对所述服务调用链路中各个调用节点进行扩缩容,包括:
9.一种扩缩容控制装置,其特征在于,包括获取模块、扩缩容方案形成模块和执行模块,其中,
10.一种电子设备,其特征在于,包括:处理器和存储有计算机程序的存储器,所述处理器被配置为在运行计算机程序时执行权利要求1-8中任一所述的方法。
11.一种程序产品,包括计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1-8中任一所述的方法。