System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种节点伸缩方法及相关装置制造方法及图纸_技高网

一种节点伸缩方法及相关装置制造方法及图纸

技术编号:40024190 阅读:7 留言:0更新日期:2024-01-16 17:13
本申请提供了一种节点伸缩方法,包括:获取集群在当前周期的状态,以及获取对集群在下一周期需要部署的实例数量的预测结果,根据集群在当前周期的状态和预测结果,确定集群在下一周期的理想节点数量,接着根据理想节点数量在当前周期对集群进行节点伸缩。该方法在节点层自动伸缩策略的基础上,增加了对集群未来需要部署的实例数量的预测,使用实时状态与预测结果相结合的方式在当前周期进行节点伸缩,如此集群中节点的数量可以满足即将到来的下一周期的需求,有效提高伸缩效率,确保服务的稳定性,达到提高资源利用率、降低成本以及满足和提升服务性能的目的。

【技术实现步骤摘要】

本申请涉及云计算,尤其涉及一种节点伸缩方法、集群伸缩器、伸缩决策系统、计算机集群、计算机可读存储介质、计算机程序产品。


技术介绍

1、应用(application,app)是为针对用户的某种特殊应用目的所撰写的程序,例如文本处理器、表格、会计应用、浏览器、媒体播放器、航空飞行模拟器、命令行游戏、图像编辑器等。应用通常需要部署到终端或服务器等计算机上,计算机运行应用的程序代码,从而实现相应的功能。

2、一些大型应用需要进行大量计算,将这类应用部署在单个计算机,可能存在单机运算能力不足的问题,为此,可以采用集群(cluster)部署应用。集群是一组相互独立的、通过高速网络互联的计算机,每台计算机称作集群的一个节点(node)。在节点上运行的应用的程序代码称作实例(instance),实例通常是动态代码。

3、考虑到业务的流量可以是动态变化的,集群可以进行自动伸缩(autoscaling)。自动伸缩是指根据集群的状态自动地增加或者移除节点或实例。例如,节点层的自动伸缩可以为根据集群的状态触发节点数目的增加或减少。

4、目前,很多应用的节点伸缩策略为:周期性地检测集群中实例的状态和节点的状态,当发现实例的数目很多以至于当前数目的节点无法部署所有实例时,向集群中添加节点;当发现集群中有节点长期处于未被充分利用的状态时,将这些节点从集群中移除。

5、然而,在向集群中添加节点,也即对集群扩容(scale up/out)时,由于节点从被创建到可被使用需要一定时间,从而导致节点就绪前出现大量的失败请求,影响可靠性,在从集群中移除节点,也即对集群缩容(scale down/in)时,由于是根据性能指标的检测结果、预设的冷却时间触发缩容,缩容时机可能与实际情况不符,导致移除本该保留的节点,或者保留本该移除的节点,难以保障业务可靠性与资源利用率的均衡。


技术实现思路

1、本申请提供了一种节点伸缩方法,该方法在节点层自动伸缩策略的基础上,增加了对集群未来需要部署的实例数量的预测,使用实时状态与预测结果相结合的方式在当前周期进行节点伸缩,如此集群中节点的数量可以满足即将到来的下一周期的需求,有效提高伸缩效率,确保服务的稳定性,达到提高资源利用率、降低成本以及满足和提升服务性能的目的。本申请还提供了对应的集群伸缩器、伸缩决策系统、计算机集群、计算机可读存储介质以及计算机程序产品。

2、第一方面,本申请提供了一种节点伸缩方法。集群伸缩器可以是软件,该软件可以部署在计算机集群中,计算机集群通过执行软件的程序代码,从而实现本申请实施例的节点伸缩方法。在一些实施例中,集群伸缩器也可以是硬件,例如是具有节点伸缩功能的计算机集群。

3、具体地,集群伸缩器获取集群在当前周期的状态,以及获取对所述集群在下一周期需要部署的实例数量的预测结果,然后集群伸缩器可以根据所述集群在当前周期的状态和所述预测结果,确定所述集群在下一周期的理想节点数量,接着集群伸缩器可以根据所述理想节点数量在当前周期对所述集群进行节点伸缩。

4、该方法在节点层自动伸缩策略的基础上,增加了对集群未来需要部署的实例数量的预测,例如可以对未来流量进行分钟级别预测,并基于预测的流量分布对集群未来需要部署的实例数量进行分钟级别预测,相应地,集群伸缩器可以使用实时状态与预测结果相结合的方式在当前周期进行节点伸缩,如此集群中节点的数量可以满足即将到来的下一周期的需求,有效提高伸缩效率,确保服务的稳定性,达到提高资源利用率、降低成本以及满足和提升服务性能的目的。

5、在一些可能的实现方式中,集群伸缩器可以在当前周期从目标节点池中添加节点至所述集群,使得所述集群中节点的数量达到所述理想节点数量。如此可以实现根据业务需求对集群进行扩容,并且是在当前周期对集群进行提前扩容,避免了节点从被创建到可被使用需要一定时间,从而导致节点就绪前出现大量的失败请求,影响可靠性。

6、在一些可能的实现方式中,所述目标节点池通过按照目标策略模拟实例部署的结果确定。该方法通过按照目标策略进行装箱推演,确定合适的目标节点池,从目标节点池添加相应类型的节点进行扩容,如此可以满足业务需求。

7、在一些可能的实现方式中,所述目标策略包括随机策略、部署实例数量最大策略或资源利用率最大策略中的一种或多种。其中,随机策略是指从集群的所有已知的节点池中随机选择一个,为该节点池增加一个或多个节点;部署实例数量最大策略,具体为从所有节点池中选择能够部署最多数量实例的节点池进行扩容;最少浪费策略也称作资源利用率最大策略,是指选择在部署所有实例后资源利用率最高的节点池进行扩容。

8、该方法提供多种部署策略以供用户选择,用户可以根据需要选择随机策略或者部署实例数量最大策略或者是资源利用率最大策略进行装箱推演,以实现部署实例数量最大化或者资源利用率最大化。

9、在一些可能的实现方式中,集群伸缩器还可以获取伸缩约束。伸缩约束用于表征节点伸缩的约束条件。该约束条件可以包括生效时间区间和伸缩区间。集群伸缩器可以根据所述理想节点数量和所述伸缩约束,在当前周期对所述集群进行节点伸缩。

10、如此,可以实现克服对推演结果过于依赖的问题,实现对集群的精准伸缩。

11、在一些可能的实现方式中,所述伸缩约束包括生效时间区间和伸缩区间。其中,伸缩区间包括最大节点数量和最小节点数量中的至少一个。当下一周期处于生效时间区间时,若当前周期内集群中节点的数量小于所述最小节点数量,则集群伸缩器可以在当前周期向集群添加节点,使得所述集群中节点的数量达到所述最小节点数量,若当前周期内所述集群中节点的数量大于所述最大节点数量,则集群伸缩器可以在当前周期从集群移除节点,使得集群中节点的数量达到所述最大节点数量。若当前周期内所述集群中节点的数量不小于所述最小节点数量且不大于所述最大节点数量,则集群伸缩器可以在当前周期向集群添加节点或从集群移除节点,使得集群中节点的数量达到理想节点数量。

12、如此可以避免推演结果不准确导致过度扩容,进而导致资源浪费的问题,或者推演结果不准确导致过度缩容,进而导致服务不可用的问题。

13、在一些可能的实现方式中,所述最大节点数量或所述最小节点数量根据历史数量确定。具体地,集群伸缩器可以根据历史数据(包括历史数量和历史预测结果),检测到预测准确率不达标的历史时间段。基于该历史时间段的分布规律可以确定生效时间区间,基于历史时间段内历史数量的分布规律可以确定最大节点数量或最小节点数量。

14、通过对历史数据进行挖掘,可以确定最大节点数量或最小节点数量,并且最大节点数量、最小节点数量是基于真实数据确定,具有较高的参考价值。

15、在一些可能的实现方式中,所述历史数量包括应用在历史时间段部署的实例数量或所述应用的同类应用在历史时间段部署的实例数量。当应用为新发布的应用时,历史数量可以参考该应用的同类应用在历史时间段部署的实例数量,一方面可以实现模型复用,另一方本文档来自技高网...

【技术保护点】

1.一种节点伸缩方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述理想节点数量在当前周期对所述集群进行节点伸缩,包括:

3.根据权利要求2所述的方法,其特征在于,所述目标节点池通过按照目标策略模拟实例部署的结果确定。

4.根据权利要求3所述的方法,其特征在于,所述目标策略包括随机策略、部署实例数量最大策略或资源利用率最大策略中的一种或多种。

5.根据权利要求1所述的方法,其特征在于,所述方法还包括:

6.根据权利要求5所述的方法,其特征在于,所述伸缩约束包括生效时间区间和伸缩区间,所述伸缩区间包括最大节点数量和最小节点数量中的至少一个,所述根据所述理想节点数量和所述伸缩约束,在当前周期对所述集群进行节点伸缩,包括:

7.根据权利要求6所述的方法,其特征在于,所述最大节点数量或所述最小节点数量根据历史数量确定。

8.根据权利要求7所述的方法,其特征在于,所述历史数量包括应用在历史时间段部署的实例数量或所述应用的同类应用在历史时间段部署的实例数量。

9.根据权利要求6所述的方法,其特征在于,所述最大节点数量或所述最小节点数量由用户通过配置界面配置得到。

10.根据权利要求1至9任一项所述的方法,其特征在于,所述集群在当前周期的状态包括所述集群中已就绪的节点类型和相应类型的节点数量、即将就绪的节点类型和相应类型的节点数量、各节点上正在运行的实例类型和数量、待部署的实例类型和数量中的一种或多种。

11.一种集群伸缩器,其特征在于,所述集群伸缩器包括:

12.根据权利要求11所述的集群伸缩器,其特征在于,所述伸缩模块具体用于:

13.根据权利要求12所述的集群伸缩器,其特征在于,所述目标节点池通过按照目标策略模拟实例部署的结果确定。

14.根据权利要求13所述的集群伸缩器,其特征在于,所述目标策略包括随机策略、部署实例数量最大策略或资源利用率最大策略中的一种或多种。

15.根据权利要求11所述的集群伸缩器,其特征在于,所述获取模块还用于:

16.根据权利要求15所述的集群伸缩器,其特征在于,所述伸缩约束包括生效时间区间和伸缩区间,所述伸缩区间包括最大节点数量和最小节点数量中的至少一个,所述伸缩模块具体用于:

17.根据权利要求16所述的集群伸缩器,其特征在于,所述最大节点数量或所述最小节点数量根据历史数量确定。

18.根据权利要求17所述的集群伸缩器,其特征在于,所述历史数量包括应用在历史时间段部署的实例数量或所述应用的同类应用在历史时间段部署的实例数量。

19.根据权利要求16所述的集群伸缩器,其特征在于,所述最大节点数量或所述最小节点数量由用户通过配置界面配置得到。

20.根据权利要求11至19任一项所述的集群伸缩器,其特征在于,所述集群在当前周期的状态包括所述集群中已就绪的节点类型和相应类型的节点数量、即将就绪的节点类型和相应类型的节点数量、各节点上正在运行的实例类型和数量、待部署的实例类型和数量中的一种或多种。

21.一种伸缩决策系统,其特征在于,所述伸缩决策系统包括:

22.一种计算机集群,其特征在于,所述计算机集群包括至少一台计算机,所述至少一台计算机包括至少一个处理器和至少一个存储器,所述至少一个存储器中存储有计算机可读指令;所述至少一个处理器执行所述计算机可读指令,以使得所述计算机集群执行如权利要求1至10中任一项所述的方法。

23.一种计算机可读存储介质,其特征在于,包括计算机可读指令;所述计算机可读指令用于实现权利要求1至10任一项所述的方法。

24.一种计算机程序产品,其特征在于,包括计算机可读指令;所述计算机可读指令用于实现权利要求1至10任一项所述的方法。

...

【技术特征摘要】

1.一种节点伸缩方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述理想节点数量在当前周期对所述集群进行节点伸缩,包括:

3.根据权利要求2所述的方法,其特征在于,所述目标节点池通过按照目标策略模拟实例部署的结果确定。

4.根据权利要求3所述的方法,其特征在于,所述目标策略包括随机策略、部署实例数量最大策略或资源利用率最大策略中的一种或多种。

5.根据权利要求1所述的方法,其特征在于,所述方法还包括:

6.根据权利要求5所述的方法,其特征在于,所述伸缩约束包括生效时间区间和伸缩区间,所述伸缩区间包括最大节点数量和最小节点数量中的至少一个,所述根据所述理想节点数量和所述伸缩约束,在当前周期对所述集群进行节点伸缩,包括:

7.根据权利要求6所述的方法,其特征在于,所述最大节点数量或所述最小节点数量根据历史数量确定。

8.根据权利要求7所述的方法,其特征在于,所述历史数量包括应用在历史时间段部署的实例数量或所述应用的同类应用在历史时间段部署的实例数量。

9.根据权利要求6所述的方法,其特征在于,所述最大节点数量或所述最小节点数量由用户通过配置界面配置得到。

10.根据权利要求1至9任一项所述的方法,其特征在于,所述集群在当前周期的状态包括所述集群中已就绪的节点类型和相应类型的节点数量、即将就绪的节点类型和相应类型的节点数量、各节点上正在运行的实例类型和数量、待部署的实例类型和数量中的一种或多种。

11.一种集群伸缩器,其特征在于,所述集群伸缩器包括:

12.根据权利要求11所述的集群伸缩器,其特征在于,所述伸缩模块具体用于:

13.根据权利要求12所述的集群伸缩器,其特征在于,所述目标节点池通过按照目标策略模拟实例部署的结果确定。

14.根据权利要求13所述的...

【专利技术属性】
技术研发人员:袁诗宇迟勇欣李星泽陈明朱锦鸿莫介水
申请(专利权)人:华为云计算技术有限公司
类型:发明
国别省市:

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

1