CN110971623A - 微服务实例弹性伸缩方法、装置以及存储介质 - Google Patents
微服务实例弹性伸缩方法、装置以及存储介质 Download PDFInfo
- Publication number
- CN110971623A CN110971623A CN201811136091.6A CN201811136091A CN110971623A CN 110971623 A CN110971623 A CN 110971623A CN 201811136091 A CN201811136091 A CN 201811136091A CN 110971623 A CN110971623 A CN 110971623A
- Authority
- CN
- China
- Prior art keywords
- service
- micro
- instances
- service instances
- allocated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000008859 change Effects 0.000 claims description 5
- 230000003247 decreasing effect Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 28
- 238000007726 management method Methods 0.000 description 8
- 238000012544 monitoring process Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 230000015556 catabolic process Effects 0.000 description 5
- 230000008602 contraction Effects 0.000 description 5
- 238000006731 degradation reaction Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Mobile Radio Communication Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例公开一种微服务实例弹性伸缩方法、装置以及计算机可读存储介质,该方法包括:获取总资源中的空闲资源状况、多个业务中每个业务需要的微服务实例数、分配给所述每个业务的微服务实例数以及可分配给所述每个业务的最大微服务实例数;计算所述每个业务需要增加或者缩减的微服务实例数;根据所述每个业务需要增加或者缩减的微服务实例数,对所述每个业务的微服务实例数进行调整。本申请实施例通过对多个业务中每个业务的微服务实例数进行动态调整;解决了现有弹性伸缩方式存在的不能满足多业务相互关联应用的要求的问题;在保证业务的处理能力不受其它业务的影响的情况下,确保各业务的微服务实例数都在最佳状况下;提升了资源利用率。
Description
技术领域
本申请实施例涉及通信技术领域,尤其涉及一种微服务实例弹性伸缩方法、装置以及计算机可读存储介质。
背景技术
根据业务需求和策略,网管***能够自动计算其弹性资源的管理服务,在满足业务需求高峰增长时无缝地增加微服务实例,并在业务需求下降时自动减少微服务实例以节约成本,也就是***要能够弹性伸缩微服务实例,已经成为了当前大数据应用的通用要求。
传统的开源框架或者***中,对资源的弹性伸缩都只是依据剩余的资源(CPU和内存)或者负荷超过多少就弹出预设的数量以及要缩减到的数量。这种弹性伸缩方式逐步满足不了多业务相互关联应用中的对弹缩策略的细化要求,主要体现在:
首先,多业务情况下,要求每种业务保持规定的处理能力;其次,多业务情况下,如果某些业务暂不开展,已开通的服务则能够利用***空余出来的资源尽可能为其服务;再者,业务突发时,预设的弹缩实例数不足以支撑当前业务,导致产生瓶颈;最后,多业务情况下,如果之前未开通的业务一旦开通,刚开通的业务需要能够获取其规定需要的资源为其服务。
发明内容
有鉴于此,本申请实施例的目的在于提供一种微服务实例弹性伸缩方法、装置以及计算机可读存储介质,以解决现有弹性伸缩方式存在的不能满足多业务相互关联应用的要求的问题。
本申请实施例解决上述技术问题所采用的技术方案如下:
根据本申请实施例的一个方面,提供的一种微服务实例弹性伸缩方法,所述方法包括:
获取总资源中的空闲资源状况、多个业务中每个业务需要的微服务实例数、分配给所述每个业务的微服务实例数以及可分配给所述每个业务的最大微服务实例数;
根据所述总资源中的空闲资源状况、所述每个业务需要的微服务实例数、分配给所述每个业务的微服务实例数、以及可分配给所述每个业务的最大微服务实例数,计算所述每个业务需要增加或者缩减的微服务实例数;
根据所述每个业务需要增加或者缩减的微服务实例数,对所述每个业务的微服务实例数进行调整。
根据本申请实施例的另一个方面,提供的一种微服务实例弹性伸缩装置,所述装置包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的微服务实例弹性伸缩程序,所述微服务实例弹性伸缩程序被所述处理器执行时实现上述的微服务实例弹性伸缩方法的步骤。
根据本申请实施例的另一个方面,提供的一种计算机可读存储介质,所述计算机可读存储介质上存储有微服务实例弹性伸缩程序,所述微服务实例弹性伸缩程序被处理器执行时实现上述的微服务实例弹性伸缩方法的步骤。
本申请实施例的微服务实例弹性伸缩方法、装置以及计算机可读存储介质,通过对多个业务中每个业务的微服务实例数进行动态调整;解决了现有弹性伸缩方式存在的不能满足多业务相互关联应用的要求的问题;在保证业务的处理能力不受其它业务的影响的情况下,确保各业务的微服务实例数都在最佳状况下;提升了资源利用率。
附图说明
图1为本申请第一实施例的微服务实例弹性伸缩方法流程示意图;
图2为本申请实施例的微服务实例弹性伸缩组件结构示意图;
图3为本申请实施例的微服务实例弹性伸缩结构示意图;
图4为本申请第二实施例的微服务实例弹性伸缩装置结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
第一实施例
如图1所示,本申请第一实施例提供一种微服务实例弹性伸缩方法,所述方法包括:
步骤S11:获取总资源中的空闲资源状况、多个业务中每个业务需要的微服务实例数、分配给所述每个业务的微服务实例数以及可分配给所述每个业务的最大微服务实例数。
在一种实施方式中,所述获取总资源中的空闲资源状况、多个业务中每个业务需要的微服务实例数、分配给所述每个业务的微服务实例数以及可分配给所述每个业务的最大微服务实例数,之前还包括:
获取总资源、所述每个业务的任务数、单任务耗时、所述每个业务的任务数弹缩模型公式、以及所述每个业务的资源配额比;
根据所述每个业务的任务数、所述单任务耗时以及所述每个业务的任务数弹缩模型公式,计算所述每个业务需要的微服务实例数;
根据所述总资源、以及所述每个业务的资源配额比,计算可分配给所述每个业务的最大微服务实例数。
在该实施方式中,所述每个业务的任务数应该小于该业务允许待处理最大的任务数,否则在接收新任务时候应当适当提示或者拒绝用户下达新任务。
所述单任务耗时是各个业务的任务处理实际耗时,初始的经验值可由测试和经验获得,运行期可根据各业务实际执行任务情况进行动态调整。
不同业务的任务数弹缩模型公式不同,公式可根据不同的业务特性确定。
所述每个业务的资源配额比,是综合考虑业务特点(例如:周期性长短(小时/天)、随机按需、业务重要度等等),确定的各业务对资源使用的权重比例。该配额比的默认值可由经验和测试数据决定,运行中根据业务特点进行自适应调整,以达到资源的有效使用。
作为示例地,假设总资源以MAX表示;每个业务的任务数以TaskNum(En)表示,其中En表示业务En,n为正整数;Vone_task表示单任务耗时;FUNC_INS(En)表示每个业务的任务数弹缩模型公式;FUNC_RES(En)表示所述每个业务的资源配额比;ToAlloc_InstanceNum(En)表示所述每个业务需要的微服务实例数;MAX_InstanceNum(En)表示可分配给所述每个业务的最大微服务实例数。
则所述每个业务需要的微服务实例数ToAlloc_InstanceNum(En)通过以下公式进行计算:
ToAlloc_InstanceNum(En)=V_NumOfTotalTask/(V_X/Vone_task)。
可分配给所述每个业务的最大微服务实例数通过以下公式进行计算:
MAX_InstanceNum(En)=MAX*FUNC_RES(En)。
在一种实施方式中,所述获取总资源、所述每个业务的任务数、单任务耗时、所述每个业务的任务数弹缩模型公式、以及所述每个业务的资源配额比,之前还包括:
记录所述每个业务的任务数以及时间信息;
根据记录的所述每个业务的任务数以及时间信息得到新的单任务耗时;
在所述新的单任务耗时与所述单任务耗时的变化率超过预设值的情况下,调整所述单任务耗时。
在该实施方式中,所述根据记录的所述每个业务的任务数以及时间信息得到新的单任务耗时,之后还包括:
在所述新的单任务耗时相比缺省的单任务耗时下降连续超过预设时间的情况下,调整所述每个业务的资源配额比。
作为示例地,在需要调整业务的微服务实例数时,可开启定时检测功能;记录该时刻各个业务的任务数以及当前时间;下个监测周期时记录各个业务的任务数以及当前时间;然后根据记录的各个业务的任务数以及时间信息得到新的单任务耗时;如果新的单任务耗时与当前的单任务耗时的变化(上升)超过20%但小于最大许可耗时,则调整当前的单任务耗时;如果新的单任务耗时与当前的单任务耗时的变化(上升)超过20%且大于最大许可耗时,则调整当前的单任务耗时为最大许可耗时;如果新的单任务耗时相比缺省的单任务耗时下降连续超过半年,则调整每个业务的资源配额比。
在一种实施方式中,所述根据所述每个业务的任务数、所述单任务耗时以及所述每个业务的任务数弹缩模型公式,计算所述每个业务需要的微服务实例数,之后还包括:
计算所有业务需要的微服务实例总数;
在所有业务需要的微服务实例总数小于总资源的情况下,将计算的所述每个业务需要的微服务实例数分配给所述每个业务进行使用;
在所有业务需要的微服务实例总数大于总资源的情况下,根据业务优先级及其资源抢占规则对所述每个业务进行微服务实例数的分配。
在该实施方式中,根据业务优先级及其资源抢占规则对所述每个业务进行微服务实例数的分配包括但不限于以下情形:
保证低优先级任务自身保留最低的微服务实例数时,确保高优先级业务可以享有更多的微服务实例数,即优先保证高优先级业务的最大微服务实例数;
如果低优先级业务的微服务实例数无法保证总耗时符合业务要求,按优先级顺序低往高的方向保证低优先级业务自身最低的微服务实例数,然后递归保证低优先级业务的微服务实例数等于或高于自身的最低的微服务实例数;
如果所有业务都已按最低的微服务实例数进行分配时,各业务的总耗时仍不符合业务要求,则提示无法给出合适的微服务实例数。
在该实施方式中,所述根据业务优先级及其资源抢占规则对所述每个业务进行微服务实例数的分配,之前还包括:
确定所述业务优先级及其资源抢占规则。
作为示例地,资源抢占规则可以为:业务风暴时高优先级业务是全占还是部分抢夺低优先级业务的资源,低优先级业务是否要保留最低的微服务实例数。
步骤S12:根据所述总资源中的空闲资源状况、所述每个业务需要的微服务实例数、分配给所述每个业务的微服务实例数、以及可分配给所述每个业务的最大微服务实例数,计算所述每个业务需要增加或者缩减的微服务实例数。
在本实施例中,所述根据所述总资源中的空闲资源状况、所述每个业务需要的微服务实例数、分配给所述每个业务的微服务实例数、以及可分配给所述每个业务的最大微服务实例数,计算所述每个业务需要增加或者缩减的微服务实例数,包括:
在所述每个业务需要的微服务实例数大于分配给所述每个业务的微服务实例数、分配给所述每个业务的微服务实例数等于可分配给所述每个业务的最大微服务实例数、且总资源还有空闲资源的情况下,所述每个业务需要增加的微服务实例数为所述每个业务需要的微服务实例数与分配给所述每个业务的微服务实例数的差值。
作为示例地,假设ToAlloc_InstanceNum(En)表示所述每个业务需要的微服务实例数;Current_InstanceNum(En)表示分配给所述每个业务的微服务实例数;MAX_InstanceNum(En)表示可分配给所述每个业务的最大微服务实例数。
当ToAlloc_InstanceNum(En)>Current_InstanceNum(En)、Current_InstanceNum(En)=MAX_InstanceNum(En)、且总资源还有空闲资源时,所述每个业务需要增加的微服务实例数为:(ToAlloc_InstanceNum(En)-Current_InstanceNum(En))。
在所述每个业务需要的微服务实例数大于分配给所述每个业务的微服务实例数、分配给所述每个业务的微服务实例数等于可分配给所述每个业务的最大微服务实例数、且总资源没有空闲资源的情况下,所述每个业务需要增加或者缩减的微服务实例数为零;
在该情形下,所述每个业务的微服务实例数保持为可分配给所述每个业务的最大微服务实例数,此时保证了***对业务的处理能力。
在所述每个业务需要的微服务实例数小于分配给所述每个业务的微服务实例数的情况下,所述每个业务需要缩减的微服务实例数为分配给所述每个业务的微服务实例数与所述每个业务需要的微服务实例数的差值;
在该情形下,无需弹出新的微服务实例;相反,需要把完成任务的微服务实例数进行缩减。
作为示例地,假设ToAlloc_InstanceNum(En)表示所述每个业务需要的微服务实例数;Current_InstanceNum(En)表示分配给所述每个业务的微服务实例数。当ToAlloc_InstanceNum(En)<Current_InstanceNum(En)时,需要把完成任务的微服务实例数缩减到ToAlloc_InstanceNum(En)。
在所述每个业务需要的微服务实例数大于分配给所述每个业务的微服务实例数、所述每个业务需要的微服务实例数小于等于可分配给所述每个业务的最大微服务实例数、且总资源没有空闲资源的情况下,所述每个业务需要增加的微服务实例数为分配给另一个业务的微服务实例数与可分配给所述另一个业务的最大微服务实例数的差值。
作为示例地,假设ToAlloc_InstanceNum(En)表示所述每个业务需要的微服务实例数;Current_InstanceNum(En)表示分配给所述每个业务的微服务实例数;MAX_InstanceNum(En)表示可分配给所述每个业务的最大微服务实例数;Current_InstanceNum(Em)表示分配给另一个业务的微服务实例数;
MAX_InstanceNum(Em)表示可分配给所述另一个业务的最大微服务实例数的差值。
当ToAlloc_InstanceNum(En)<=MAX_InstanceNum(En)、ToAlloc_InstanceNum(En)>Current_InstanceNum(En)、且总资源没有空闲资源时,所述每个业务需要增加的微服务实例数为:Current_InstanceNum(Em)-MAX_InstanceNum(Em)。
步骤S13:根据所述每个业务需要增加或者缩减的微服务实例数,对所述每个业务的微服务实例数进行调整。
在一种实施方式中,所述根据所述每个业务需要增加或者缩减的微服务实例数,对所述每个业务的微服务实例数进行调整,之前还包括:
对所述每个业务需要增加的微服务实例数打上所述每个业务的标识;或者对所述每个业务需要缩减的微服务实例数去除所述每个业务的标识。
作为示例地,业务En需要增加的微服务实例数,都要打上En标识。打上En标识的微服务实例,后续根据En标识只获取业务En的任务来执行;而一旦微服务实例被分配到其他业务(例如Em)时,该微服务实例需去除En标识并打上业务Em的标识。
为了更好地阐述微服务实例弹性伸缩过程,以下结合图2、图3、以及应用场景进行说明:(其中图2为微服务实例弹性伸缩组件结构示意图,组件包括模型管理、资源管理以及业务任务池;图3为微服务实例弹性伸缩结构示意图,其中业务任务包括干扰任务和劣化检测任务)
某司中国电信告警北向接口,采用传统的弹性伸缩策略,只是根据预设的资源占用定量进行弹性伸缩,往往滞后于业务处理请求,导致业务处理任务累积,造成需要时***处理能力恶化,不需要时冗余资源占用。
设计CPU使用率超过80%增加5个实例,不区分业务,长期运行造成劣化检测任务堆积,连续增加导致申请资源失败,而智能干扰的资源使用率长期低于80%,释放的资源不能即时用于劣化检测。
基于传统的弹性伸缩策略存在的问题,在一种应用情景中,模型管理模块设定两种业务:智能干扰定位(按需)、劣化检测(周期小时)。
其中,业务可分配的最大资源MAX(En)=100,业务的资源配额比FUNC_RES(En)=30:70。
业务的任务数弹缩模型公式FUNC_INS(E1)对干扰任务:
100个任务,每个任务3秒处理时间,分配25个实例,实际12秒处理时间<15秒内;100个任务,每个任务2秒处理时间,分配17个实例,实际12秒处理时间。即要求100个任务分配的实例需要12秒~15秒内处理完,实际的每个任务耗时通过监测数据得到,周期按天进行调整。公式如下:
ToAlloc_InstanceNum(En)=V_NumOfTotalTask/(V_12/Vone_task)。
业务的任务数弹缩模型公式FUNC_INS(E2)对劣化检测任务:
100个任务,每个任务2秒处理时间,分配20个实例,实际10秒处理时间<12秒;100个任务,每个任务1.5秒处理时间,分配15个实例,实际10.5秒处理时间<12秒。即要求100个任务分配的实例需要10秒~12秒内处理完,实际的每个任务耗时通过监测数据得到,周期按天进行调整。公式如下:
ToAlloc_InstanceNum(En)=V_NumOfTotalTask/(V_10/Vone_task)。
资源管理模块根据设定信息,对业务的微服务实例数进行调整,调整后的信息如下表格所示:
从该表格中可以看出,在第1-第3个监测周期中,需要的实例总数小于MAX(En)的情形中,各任务的实际分配的实例数与需要的实例数相同,即得到全力分配。在第4个监测周期中,需要的实例总数(38+80)大于MAX(En),因此优先按照业务的资源配额比的满配进行分配,高优先级任务可以抢夺使用低优先级任务的资源(实例)。
在另一种应用场景中,模型管理模块设定两种业务:智能干扰定位(按需)、劣化检测(周期小时)。其中,业务可分配的最大资源MAX(En)=100,业务的资源配额比FUNC_RES(En)=40:60。
业务的任务数弹缩模型公式FUNC_INS(E1)对干扰任务:100个任务,每个任务2.5秒处理时间,分配20个实例,实际12.5秒处理时间;100个任务,每个任务2秒处理时间,分配16个实例,实际14秒处理时间。即要求100个任务分配的实例需要12秒~15秒内处理完,实际的每个任务耗时通过监测数据得到,周期按天进行调整。公式如下:
ToAlloc_InstanceNum(En)=V_NumOfTotalTask/(V_12/Vone_task)。
业务的任务数弹缩模型公式FUNC_INS(E2)对劣化检测任务:100个任务,每个任务2.5秒处理时间,分配25个实例,实际10秒处理时间;100个任务,每个任务2秒处理时间,分配15个实例,实际10.5秒处理时间。即要求100个任务分配的实例需要10秒~12秒内处理完,实际的每个任务耗时通过监测数据得到,周期按天进行调整。公式如下:
ToAlloc_InstanceNum(En)=V_NumOfTotalTask/(V_10/Vone_task)。
资源管理模块根据设定信息,对业务的微服务实例数进行调整,调整后的信息如下表格所示:
本申请实施例的微服务实例弹性伸缩方法,通过对多个业务中每个业务的微服务实例数进行动态调整;解决了现有弹性伸缩方式存在的不能满足多业务相互关联应用的要求的问题;在保证业务的处理能力不受其它业务的影响的情况下,确保各业务的微服务实例数都在最佳状况下;提升了资源利用率。
第二实施例
如图4所示,本申请第二实施例提供一种微服务实例弹性伸缩装置,所述装置包括:存储器21、处理器22及存储在所述存储器21上并可在所述处理器22上运行的微服务实例弹性伸缩程序,所述微服务实例弹性伸缩程序被所述处理器22执行时,用于实现以下所述的微服务实例弹性伸缩方法的步骤:
获取总资源中的空闲资源状况、多个业务中每个业务需要的微服务实例数、分配给所述每个业务的微服务实例数以及可分配给所述每个业务的最大微服务实例数;
根据所述总资源中的空闲资源状况、所述每个业务需要的微服务实例数、分配给所述每个业务的微服务实例数、以及可分配给所述每个业务的最大微服务实例数,计算所述每个业务需要增加或者缩减的微服务实例数;
根据所述每个业务需要增加或者缩减的微服务实例数,对所述每个业务的微服务实例数进行调整。
所述微服务实例弹性伸缩程序被所述处理器22执行时,还用于实现以下所述的微服务实例弹性伸缩方法的步骤:
获取总资源、所述每个业务的任务数、单任务耗时、所述每个业务的任务数弹缩模型公式、以及所述每个业务的资源配额比;
根据所述每个业务的任务数、所述单任务耗时以及所述每个业务的任务数弹缩模型公式,计算所述每个业务需要的微服务实例数;
根据所述总资源、以及所述每个业务的资源配额比,计算可分配给所述每个业务的最大微服务实例数。
所述微服务实例弹性伸缩程序被所述处理器22执行时,还用于实现以下所述的微服务实例弹性伸缩方法的步骤:
记录所述每个业务的任务数以及时间信息;
根据记录的所述每个业务的任务数以及时间信息得到新的单任务耗时;
在所述新的单任务耗时与所述单任务耗时的变化率超过预设值的情况下,调整所述单任务耗时。
所述微服务实例弹性伸缩程序被所述处理器22执行时,还用于实现以下所述的微服务实例弹性伸缩方法的步骤:
在所述新的单任务耗时相比缺省的单任务耗时下降连续超过预设时间的情况下,调整所述每个业务的资源配额比。
所述微服务实例弹性伸缩程序被所述处理器22执行时,还用于实现以下所述的微服务实例弹性伸缩方法的步骤:
计算所有业务需要的微服务实例总数;
在所有业务需要的微服务实例总数小于总资源的情况下,将计算的所述每个业务需要的微服务实例数分配给所述每个业务进行使用;
在所有业务需要的微服务实例总数大于总资源的情况下,根据业务优先级及其资源抢占规则对所述每个业务进行微服务实例数的分配。
所述微服务实例弹性伸缩程序被所述处理器22执行时,还用于实现以下所述的微服务实例弹性伸缩方法的步骤:
确定所述业务优先级及其资源抢占规则。
所述微服务实例弹性伸缩程序被所述处理器22执行时,还用于实现以下所述的微服务实例弹性伸缩方法的步骤:
在所述每个业务需要的微服务实例数大于分配给所述每个业务的微服务实例数、分配给所述每个业务的微服务实例数等于可分配给所述每个业务的最大微服务实例数、且总资源还有空闲资源的情况下,所述每个业务需要增加的微服务实例数为所述每个业务需要的微服务实例数与分配给所述每个业务的微服务实例数的差值;
在所述每个业务需要的微服务实例数大于分配给所述每个业务的微服务实例数、分配给所述每个业务的微服务实例数等于可分配给所述每个业务的最大微服务实例数、且总资源没有空闲资源的情况下,所述每个业务需要增加或者缩减的微服务实例数为零;
在所述每个业务需要的微服务实例数小于分配给所述每个业务的微服务实例数的情况下,所述每个业务需要缩减的微服务实例数为分配给所述每个业务的微服务实例数与所述每个业务需要的微服务实例数的差值;
在所述每个业务需要的微服务实例数大于分配给所述每个业务的微服务实例数、所述每个业务需要的微服务实例数小于等于可分配给所述每个业务的最大微服务实例数、且总资源没有空闲资源的情况下,所述每个业务需要增加的微服务实例数为分配给另一个业务的微服务实例数与可分配给所述另一个业务的最大微服务实例数的差值。
所述微服务实例弹性伸缩程序被所述处理器22执行时,还用于实现以下所述的微服务实例弹性伸缩方法的步骤:
对所述每个业务需要增加的微服务实例数打上所述每个业务的标识;或者对所述每个业务需要缩减的微服务实例数去除所述每个业务的标识。
本申请实施例的微服务实例弹性伸缩装置,通过对多个业务中每个业务的微服务实例数进行动态调整;解决了现有弹性伸缩方式存在的不能满足多业务相互关联应用的要求的问题;在保证业务的处理能力不受其它业务的影响的情况下,确保各业务的微服务实例数都在最佳状况下;提升了资源利用率。
第三实施例
本申请第三实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有微服务实例弹性伸缩程序,所述微服务实例弹性伸缩程序被处理器执行时用于实现第一实施例所述的微服务实例弹性伸缩方法的步骤。
需要说明的是,本实施例的计算机可读存储介质,与第一实施例的方法属于同一构思,其具体实现过程详细见方法实施例,且方法实施例中的技术特征在本实施例中均对应适用,这里不再赘述。
本申请实施例的计算机可读存储介质,通过对多个业务中每个业务的微服务实例数进行动态调整;解决了现有弹性伸缩方式存在的不能满足多业务相互关联应用的要求的问题;在保证业务的处理能力不受其它业务的影响的情况下,确保各业务的微服务实例数都在最佳状况下;提升了资源利用率。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上参照附图说明了本申请的优选实施例,并非因此局限本申请的权利范围。本领域技术人员不脱离本申请的范围和实质内所作的任何修改、等同替换和改进,均应在本申请的权利范围之内。
Claims (10)
1.一种微服务实例弹性伸缩方法,所述方法包括:
获取总资源中的空闲资源状况、多个业务中每个业务需要的微服务实例数、分配给所述每个业务的微服务实例数以及可分配给所述每个业务的最大微服务实例数;
根据所述总资源中的空闲资源状况、所述每个业务需要的微服务实例数、分配给所述每个业务的微服务实例数、以及可分配给所述每个业务的最大微服务实例数,计算所述每个业务需要增加或者缩减的微服务实例数;
根据所述每个业务需要增加或者缩减的微服务实例数,对所述每个业务的微服务实例数进行调整。
2.根据权利要求1所述的方法,其特征在于,所述获取总资源中的空闲资源状况、多个业务中每个业务需要的微服务实例数、分配给所述每个业务的微服务实例数以及可分配给所述每个业务的最大微服务实例数,之前还包括:
获取总资源、所述每个业务的任务数、单任务耗时、所述每个业务的任务数弹缩模型公式、以及所述每个业务的资源配额比;
根据所述每个业务的任务数、所述单任务耗时以及所述每个业务的任务数弹缩模型公式,计算所述每个业务需要的微服务实例数;
根据所述总资源、以及所述每个业务的资源配额比,计算可分配给所述每个业务的最大微服务实例数。
3.根据权利要求2所述的方法,其特征在于,所述获取总资源、所述每个业务的任务数、单任务耗时、所述每个业务的任务数弹缩模型公式、以及所述每个业务的资源配额比,之前还包括:
记录所述每个业务的任务数以及时间信息;
根据记录的所述每个业务的任务数以及时间信息得到新的单任务耗时;
在所述新的单任务耗时与所述单任务耗时的变化率超过预设值的情况下,调整所述单任务耗时。
4.根据权利要求3所述的方法,其特征在于,所述根据记录的所述每个业务的任务数以及时间信息得到新的单任务耗时,之后还包括:
在所述新的单任务耗时相比缺省的单任务耗时下降连续超过预设时间的情况下,调整所述每个业务的资源配额比。
5.根据权利要求2所述的方法,其特征在于,所述根据所述每个业务的任务数、所述单任务耗时以及所述每个业务的任务数弹缩模型公式,计算所述每个业务需要的微服务实例数,之后还包括:
计算所有业务需要的微服务实例总数;
在所有业务需要的微服务实例总数小于总资源的情况下,将计算的所述每个业务需要的微服务实例数分配给所述每个业务进行使用;
在所有业务需要的微服务实例总数大于总资源的情况下,根据业务优先级及其资源抢占规则对所述每个业务进行微服务实例数的分配。
6.根据权利要求5所述的方法,其特征在于,所述根据业务优先级及其资源抢占规则对所述每个业务进行微服务实例数的分配,之前还包括:
确定所述业务优先级及其资源抢占规则。
7.根据权利要求1所述的方法,其特征在于,所述根据所述总资源中的空闲资源状况、所述每个业务需要的微服务实例数、分配给所述每个业务的微服务实例数、以及可分配给所述每个业务的最大微服务实例数,计算所述每个业务需要增加或者缩减的微服务实例数,包括:
在所述每个业务需要的微服务实例数大于分配给所述每个业务的微服务实例数、分配给所述每个业务的微服务实例数等于可分配给所述每个业务的最大微服务实例数、且总资源还有空闲资源的情况下,所述每个业务需要增加的微服务实例数为所述每个业务需要的微服务实例数与分配给所述每个业务的微服务实例数的差值;
在所述每个业务需要的微服务实例数大于分配给所述每个业务的微服务实例数、分配给所述每个业务的微服务实例数等于可分配给所述每个业务的最大微服务实例数、且总资源没有空闲资源的情况下,所述每个业务需要增加或者缩减的微服务实例数为零;
在所述每个业务需要的微服务实例数小于分配给所述每个业务的微服务实例数的情况下,所述每个业务需要缩减的微服务实例数为分配给所述每个业务的微服务实例数与所述每个业务需要的微服务实例数的差值;
在所述每个业务需要的微服务实例数大于分配给所述每个业务的微服务实例数、所述每个业务需要的微服务实例数小于等于可分配给所述每个业务的最大微服务实例数、且总资源没有空闲资源的情况下,所述每个业务需要增加的微服务实例数为分配给另一个业务的微服务实例数与可分配给所述另一个业务的最大微服务实例数的差值。
8.根据权利要求1所述的方法,其特征在于,所述根据所述每个业务需要增加或者缩减的微服务实例数,对所述每个业务的微服务实例数进行调整,之前还包括:
对所述每个业务需要增加的微服务实例数打上所述每个业务的标识;或者对所述每个业务需要缩减的微服务实例数去除所述每个业务的标识。
9.一种微服务实例弹性伸缩装置,其特征在于,所述装置包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的微服务实例弹性伸缩程序,所述微服务实例弹性伸缩程序被所述处理器执行时实现如权利要求1至8中任一项所述的微服务实例弹性伸缩方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有微服务实例弹性伸缩程序,所述微服务实例弹性伸缩程序被所述处理器执行时实现如权利要求1至8中任一项所述的微服务实例弹性伸缩方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811136091.6A CN110971623B (zh) | 2018-09-28 | 2018-09-28 | 微服务实例弹性伸缩方法、装置以及存储介质 |
PCT/CN2019/101856 WO2020063206A1 (zh) | 2018-09-28 | 2019-08-21 | 微服务实例弹性伸缩方法、装置以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811136091.6A CN110971623B (zh) | 2018-09-28 | 2018-09-28 | 微服务实例弹性伸缩方法、装置以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110971623A true CN110971623A (zh) | 2020-04-07 |
CN110971623B CN110971623B (zh) | 2023-02-17 |
Family
ID=69951018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811136091.6A Active CN110971623B (zh) | 2018-09-28 | 2018-09-28 | 微服务实例弹性伸缩方法、装置以及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110971623B (zh) |
WO (1) | WO2020063206A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858042A (zh) * | 2020-07-10 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 基于国产化云平台校验微服务治理配额开启的方法及装置 |
CN112565391A (zh) * | 2020-12-01 | 2021-03-26 | 瀚云科技有限公司 | 调整工业互联网平台中实例的方法、装置、设备和介质 |
CN115250230A (zh) * | 2022-07-22 | 2022-10-28 | 中国电信股份有限公司 | 基于微服务的网元计时器管理方法、***及相关设备 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111459681B (zh) * | 2020-04-07 | 2023-08-08 | 上海熙菱信息技术有限公司 | 一种基于微服务负载的动态弹性伸缩方法 |
CN112243024B (zh) * | 2020-09-17 | 2022-05-06 | 北京金山云网络技术有限公司 | 服务控制方法、装置、服务器及存储介质 |
CN112685153A (zh) * | 2020-12-25 | 2021-04-20 | 广州奇盾信息技术有限公司 | 微服务调度方法、装置以及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107104846A (zh) * | 2017-06-02 | 2017-08-29 | 北京北信源软件股份有限公司 | 一种实现资源配置的方法、装置及资源配置中心 |
CN108021447A (zh) * | 2017-11-28 | 2018-05-11 | 象翌微链科技发展有限公司 | 一种基于分布式数据确定最优资源策略的方法及*** |
CN108206852A (zh) * | 2016-12-20 | 2018-06-26 | 杭州华为数字技术有限公司 | 一种微服务框架下的基于会话的服务实例管理方法及设备 |
CN108234589A (zh) * | 2016-12-22 | 2018-06-29 | 瞻博网络公司 | 微服务应用的自动缩放 |
CN108259522A (zh) * | 2016-12-28 | 2018-07-06 | 中兴通讯股份有限公司 | 一种PaaS平台容器化应用的弹缩方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10574736B2 (en) * | 2017-01-09 | 2020-02-25 | International Business Machines Corporation | Local microservice development for remote deployment |
WO2018144060A1 (en) * | 2017-02-05 | 2018-08-09 | Intel Corporation | Microservice provision and management |
CN107734066A (zh) * | 2017-11-16 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种数据中心综合管理***服务治理方法 |
-
2018
- 2018-09-28 CN CN201811136091.6A patent/CN110971623B/zh active Active
-
2019
- 2019-08-21 WO PCT/CN2019/101856 patent/WO2020063206A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108206852A (zh) * | 2016-12-20 | 2018-06-26 | 杭州华为数字技术有限公司 | 一种微服务框架下的基于会话的服务实例管理方法及设备 |
CN108234589A (zh) * | 2016-12-22 | 2018-06-29 | 瞻博网络公司 | 微服务应用的自动缩放 |
CN108259522A (zh) * | 2016-12-28 | 2018-07-06 | 中兴通讯股份有限公司 | 一种PaaS平台容器化应用的弹缩方法及装置 |
CN107104846A (zh) * | 2017-06-02 | 2017-08-29 | 北京北信源软件股份有限公司 | 一种实现资源配置的方法、装置及资源配置中心 |
CN108021447A (zh) * | 2017-11-28 | 2018-05-11 | 象翌微链科技发展有限公司 | 一种基于分布式数据确定最优资源策略的方法及*** |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858042A (zh) * | 2020-07-10 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 基于国产化云平台校验微服务治理配额开启的方法及装置 |
CN111858042B (zh) * | 2020-07-10 | 2023-01-10 | 苏州浪潮智能科技有限公司 | 基于国产化云平台校验微服务治理配额开启的方法及装置 |
CN112565391A (zh) * | 2020-12-01 | 2021-03-26 | 瀚云科技有限公司 | 调整工业互联网平台中实例的方法、装置、设备和介质 |
CN115250230A (zh) * | 2022-07-22 | 2022-10-28 | 中国电信股份有限公司 | 基于微服务的网元计时器管理方法、***及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2020063206A1 (zh) | 2020-04-02 |
CN110971623B (zh) | 2023-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110971623B (zh) | 微服务实例弹性伸缩方法、装置以及存储介质 | |
CN110995614B (zh) | 一种算力资源分配的方法及装置 | |
CN108965485B (zh) | 容器资源的管理方法、装置和云平台 | |
US10772115B2 (en) | Resource scheduling method and server | |
US11977784B2 (en) | Dynamic resources allocation method and system for guaranteeing tail latency SLO of latency-sensitive application | |
CN108667748B (zh) | 一种控制带宽的方法、装置、设备和存储介质 | |
CN107066332B (zh) | 分布式***及其调度方法和调度装置 | |
US11582166B2 (en) | Systems and methods for provision of a guaranteed batch | |
US9405588B2 (en) | Cloud resource allocation system and method | |
CN103532873B (zh) | 应用于分布式文件***的流量控制策略 | |
CN107665143B (zh) | 资源管理方法、装置及*** | |
CN109766183A (zh) | 一种集群gpu复用及智能负载的方法及*** | |
CN110912722B (zh) | 业务资源管理方法、装置、网络设备和可读存储介质 | |
CN113867959A (zh) | 一种训练任务资源调度方法、装置、设备及介质 | |
WO2016095535A1 (zh) | 资源分配方法、装置和服务器 | |
CN109495981A (zh) | 基于ofdm的数据传输方法、装置、设备和存储介质 | |
CN110858986A (zh) | 带宽调整方法、装置、通信设备及计算机可读存储介质 | |
CN112749002A (zh) | 一种集群资源动态管理的方法和装置 | |
CN112214288B (zh) | 基于Kubernetes集群的Pod调度方法、装置、设备和介质 | |
CN111611074A (zh) | 一种集群资源的调度方法及装置 | |
CN111010626A (zh) | 一种弹性光网络中有远见的提前预留业务资源分配方法 | |
CN113204433B (zh) | 一种集群资源的动态分配方法、装置、设备及存储介质 | |
CN110955522B (zh) | 一种协调性能隔离和数据恢复优化的资源管理方法及*** | |
CN115774614A (zh) | 资源调控方法、终端及存储介质 | |
CN109086142B (zh) | 一种基于Openlava的资源调度方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |