实时负载量实现实例弹性伸缩的方法、系统、设备及介质与流程
未命名
09-10
阅读:85
评论:0

1.本发明属于自动控制领域,涉及一种实现实例弹性伸缩的方法、系统、设备及介质,具体涉及一种实时负载量实现实例弹性伸缩的方法、系统、设备及介质。
背景技术:
2.基于应用的稳定性以及资源利用率的考虑,越来越多的微服务应用选择采用弹性伸缩的办法解决应用的稳定性和资源率之间的矛盾。弹性伸缩是一种为了满足业务需求、保证服务质量、平衡服务成本的重要应用管理策略。弹性伸缩让应用的部署规模能够根据实时的业务量产生动态调整,在业务高峰期扩大部署规模,保证服务不被业务冲垮;在业务低谷期缩减部署规模,避免资源浪费。但是传统的弹性伸缩主要是利用监控的cpu或内存监控指标实现实例扩缩容,但很多的微服务应用场景较为复杂,单一使用cpu或内存监控指标实现实例扩缩容已经无法满足现实需要,此时基于自定义的监控指标实现实例弹性伸缩是目前亟需解决的问题。
技术实现要素:
3.本发明的目的在于克服上述现有技术的缺点,提供了一种实时负载量实现实例弹性伸缩的方法、系统、设备及介质,该方法、系统、设备及介质能够基于监控指标实现实例弹性伸缩。
4.为达到上述目的,本发明采用如下技术方案:
5.本发明一方面,本发明提供了一种实时负载量实现实例弹性伸缩的方法,包括:
6.获取微服务的实时访问负载量;
7.根据微服务访问请求监控指标选取指标阈值;
8.根据获取得到的微服务的实时访问负载量以及指标阈值,调整微服务的实例数量,完成微服务的实例弹性伸缩。
9.选取指标阈值的具体过程为:
10.创建微服务访问请求监控指标;
11.创建所述微服务访问请求监控指标的指标监控适配器prometheus adapter,所述指标监控适配器prometheus adapter用于将微服务访问请求监控指标http_requests_total暴露给弹性伸缩;
12.观察prometheus在预设时间内微服务负载访问量,根据所述在预设时间内微服务负载访问量选取指标阈值。
13.基于prometheus监控环境,创建微服务访问请求监控指标。
14.所述根据获取得到的微服务的实时访问负载量以及指标阈值,调整微服务的实例数量的具体过程为:
15.当微服务的实时访问负载量超过最大指标阈值时,则增加微服务的实例数量;当微服务的实时访问负载量小于最小指标阈值时,则减小微服务的实例数量,使得微服务的
实时访问负载量与微服务的实例数量匹配。
16.本发明二方面,本发明提供了一种实时负载量实现实例弹性伸缩的系统,包括:
17.获取模块,用于获取微服务的实时访问负载量;
18.选取模块,用于选取指标阈值;
19.调整模块,用于根据获取得到的微服务的实时访问负载量以及指标阈值,调整微服务的实例数量,完成微服务的实例弹性伸缩。
20.所述选取模块包括:
21.第一创建模块,用于创建微服务访问请求监控指标;
22.第二创建模块,用于创建所述微服务访问请求监控指标的指标监控适配器prometheus adapter,所述指标监控适配器prometheus adapter用于将微服务访问请求监控指标http_requests_total暴露给弹性伸缩;
23.确定模块,用于观察prometheus在预设时间内微服务负载访问量,根据所述在预设时间内微服务负载访问量选取指标阈值。
24.基于prometheus监控环境,创建微服务访问请求监控指标。
25.所述根据获取得到的微服务的实时访问负载量以及指标阈值,调整微服务的实例数量的具体过程为:
26.当微服务的实时访问负载量超过最大指标阈值时,则增加微服务的实例数量;当微服务的实时访问负载量小于最小指标阈值时,则减小微服务的实例数量,使得微服务的实时访问负载量与微服务的实例数量匹配。
27.本发明三方面,本发明提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述实时负载量实现实例弹性伸缩的方法的步骤。
28.本发明四方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述实时负载量实现实例弹性伸缩的方法的步骤。
29.本发明具有以下有益效果:
30.本发明所述的实时负载量实现实例弹性伸缩的方法、系统、设备及介质在具体操作时,根据微服务访问请求监控指标选取指标阈值;根据获取得到的微服务的实时访问负载量以及指标阈值,调整微服务的实例数量,完成微服务的实例弹性伸缩,即基于prometheus自定义监控指标,利用kubernetes弹性伸缩技术,提高运维效率,降低信息化成本的冗余支出。
附图说明
31.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
32.图1为本发明中shell脚本的流程图;
33.图2为本发明中shell脚本的原理图。
具体实施方式
34.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
35.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
36.下面结合附图对本发明做进一步详细描述:
37.实施例一
38.参考图1及图2,本发明所述微服务实时负载量实现实例弹性伸缩的方法包括以下步骤:
39.1)基于prometheus监控环境,创建微服务访问请求监控指标,所述微服务访问请求监控指标用于监测微服务的实时负载量;
40.2)创建所述微服务访问请求监控指标的指标监控适配器prometheus adapter,用于将微服务访问请求监控指标http_requests_total暴露给弹性伸缩hpa;
41.3)通过观察prometheus在预设时间内微服务负载访问量,根据所述在预设时间内微服务负载访问量选取指标阈值;
42.4)基于微服务访问请求监控指标http_requests_total创建微服务的弹性伸缩,使用步骤3)得到的指标阈值作为弹性伸缩的触发值;
43.5)实时获取微服务的实时访问负载量,当微服务的实时访问负载量超过最大指标阈值时,则增加微服务的实例数量;当微服务的实时访问负载量小于最小指标阈值时,则将微服务的实例数量减小,使得微服务的实时访问负载量与微服务的实例数量匹配,完成微服务实时负载量实现实例弹性伸缩。
44.在实际操作时,在kubernetes环境下创建微服务应用以及弹性伸缩hpa,编写循环访问微服务的shell脚本,模拟微服务在真实压力环境,在访问量触发弹性伸缩的阈值时,验证本发明的可用性。
45.实施例二
46.本发明所述的实时负载量实现实例弹性伸缩的系统包括:
47.获取模块,用于获取微服务的实时访问负载量;
48.选取模块,用于选取指标阈值;
49.调整模块,用于根据获取得到的微服务的实时访问负载量以及指标阈值,调整微服务的实例数量,完成微服务的实例弹性伸缩。
50.所述选取模块包括:
51.第一创建模块,用于创建微服务访问请求监控指标;
52.第二创建模块,用于创建所述微服务访问请求监控指标的指标监控适配器prometheus adapter,所述指标监控适配器prometheus adapter用于将微服务访问请求监控指标http_requests_total暴露给弹性伸缩;
53.确定模块,用于观察prometheus在预设时间内微服务负载访问量,根据所述在预设时间内微服务负载访问量选取指标阈值。
54.实施例三
55.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述实时负载量实现实例弹性伸缩的方法的步骤,其中,所述存储器可能包含内存,例如高速随机存储器,也可能还包括非易失性存储器,例如,至少一个磁盘存储器等;处理器、网络接口、存储器通过内部总线互相连接,该内部总线可以是工业标准体系结构总线、外设部件互连标准总线、扩展工业标准结构总线等,总线可以分为地址总线、数据总线、控制总线等。存储器用于存放程序,具体地,程序可以包括程序代码、所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
56.实施例四
57.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述实时负载量实现实例弹性伸缩的方法的步骤,具体地,所述计算机可读存储介质包括但不限于例如易失性存储器和/或非易失性存储器。所述易失性存储器可以包括随机存储存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器可以包括只读存储器(rom)、硬盘、闪存、光盘、磁盘等。
58.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
59.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
60.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
61.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一
个方框或多个方框中指定的功能的步骤。
62.最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
技术特征:
1.一种实时负载量实现实例弹性伸缩的方法,其特征在于,包括:获取微服务的实时访问负载量;根据微服务访问请求监控指标选取指标阈值;根据获取得到的微服务的实时访问负载量以及指标阈值,调整微服务的实例数量,完成微服务的实例弹性伸缩。2.根据权利要求1所述的实时负载量实现实例弹性伸缩的方法,其特征在于,根据微服务访问请求监控指标选取指标阈值的具体过程为:创建微服务访问请求监控指标;创建所述微服务访问请求监控指标的指标监控适配器prometheus adapter,所述指标监控适配器prometheus adapter用于将微服务访问请求监控指标http_requests_total暴露给弹性伸缩;观察prometheus在预设时间内微服务负载访问量,根据所述在预设时间内微服务负载访问量选取指标阈值。3.根据权利要求1所述的实时负载量实现实例弹性伸缩的方法,其特征在于,基于prometheus监控环境,创建微服务访问请求监控指标。4.根据权利要求1所述的实时负载量实现实例弹性伸缩的方法,其特征在于,所述根据获取得到的微服务的实时访问负载量以及指标阈值,调整微服务的实例数量的具体过程为:当微服务的实时访问负载量超过最大指标阈值时,则增加微服务的实例数量;当微服务的实时访问负载量小于最小指标阈值时,则减小微服务的实例数量,使得微服务的实时访问负载量与微服务的实例数量匹配。5.一种实时负载量实现实例弹性伸缩的系统,其特征在于,包括:获取模块,用于获取微服务的实时访问负载量;选取模块,用于根据微服务访问请求监控指标选取指标阈值;调整模块,用于根据获取得到的微服务的实时访问负载量以及指标阈值,调整微服务的实例数量,完成微服务的实例弹性伸缩。6.根据权利要求5所述的实时负载量实现实例弹性伸缩的系统,其特征在于,所述选取模块包括:第一创建模块,用于创建微服务访问请求监控指标;第二创建模块,用于创建所述微服务访问请求监控指标的指标监控适配器prometheus adapter,所述指标监控适配器prometheus adapter用于将微服务访问请求监控指标http_requests_total暴露给弹性伸缩;确定模块,用于观察prometheus在预设时间内微服务负载访问量,根据所述在预设时间内微服务负载访问量选取指标阈值。7.根据权利要求6所述的实时负载量实现实例弹性伸缩的系统,其特征在于,基于prometheus监控环境,创建微服务访问请求监控指标。8.根据权利要求6所述的实时负载量实现实例弹性伸缩的系统,其特征在于,所述根据获取得到的微服务的实时访问负载量以及指标阈值,调整微服务的实例数量的具体过程为:
当微服务的实时访问负载量超过最大指标阈值时,则增加微服务的实例数量;当微服务的实时访问负载量小于最小指标阈值时,则减小微服务的实例数量,使得微服务的实时访问负载量与微服务的实例数量匹配。9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-4任一项所述实时负载量实现实例弹性伸缩的方法的步骤。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-4任一项所述实时负载量实现实例弹性伸缩的方法的步骤。
技术总结
本发明公开了一种实时负载量实现实例弹性伸缩的方法、系统、设备及介质,包括:获取微服务的实时访问负载量;根据微服务访问请求监控指标选取指标阈值;根据获取得到的微服务的实时访问负载量以及指标阈值,调整微服务的实例数量,完成微服务的实例弹性伸缩,该方法、系统、设备及介质能够基于监控指标实现实例弹性伸缩。伸缩。伸缩。
技术研发人员:顾永全 赵轩 赵晋松 祁周腾 王涛 王智微
受保护的技术使用者:西安热工研究院有限公司
技术研发日:2023.06.28
技术公布日:2023/9/7
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种薄板截取装置的制作方法 下一篇:折叠椅的收纳方法、折叠椅和拼合桌与流程