CN111309442B - 微服务容器数量的调整方法、装置、系统、介质及设备 - Google Patents
微服务容器数量的调整方法、装置、系统、介质及设备 Download PDFInfo
- Publication number
- CN111309442B CN111309442B CN202010102793.3A CN202010102793A CN111309442B CN 111309442 B CN111309442 B CN 111309442B CN 202010102793 A CN202010102793 A CN 202010102793A CN 111309442 B CN111309442 B CN 111309442B
- Authority
- CN
- China
- Prior art keywords
- containers
- micro
- access rate
- service
- micro service
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及互联网技术领域,尤其涉及一种微服务容器数量的调整方法、装置、系统、介质及设备,其中,所述微服务容器数量的调整方法,包括:确定微服务容器的延迟百分比,并根据所述延迟百分比确定微服务容器的单点访问率;确定微服务集群在预设时段内的整体访问率,其中,所述微服务集群包括预设数量的微服务容器;根据所述整体访问率与所述单点访问率确定微服务集群的需求容器数量;若所述需求容器数量与所述预设数量不一致,根据所述需求容器数量调整微服务容器数量。本申请提供的方案能够基于业务需求准确调整微服务容器数量,减少人工干预。
Description
技术领域
本申请涉及互联网技术领域,具体而言,本申请涉及一种微服务容器数量的调整方法、装置、系统、介质及设备。
背景技术
微服务架构是一种新的软件架构模式,微服务将复杂的系统切分为数十个甚至上百个单独的小服务,每个服务复杂实现一个单独的逻辑,各个小服务部署在不同的进程中。
开源容器编排引擎k8s能够实现应用部署、维护、扩展机制等功能,微服务以容器方式部署到k8s上时,需要配置容器的数量,k8s能够根据容器的状态,实现容器的创建或删除,但当业务需求调整时,需要人为调整微服务容器的数量,但人工调整方式无法准确调整微服务容器数量,且效率低下。
发明内容
本申请提供了一种微服务容器数量的调整方法、装置、计算机可读存储介质及计算机设备,以实现自动对微服务容器数量的准确调整。
本申请实施例首先提供了一种微服务容器数量的调整方法,包括:
确定微服务容器的延迟百分比,并根据所述延迟百分比确定微服务容器的单点访问率;
确定微服务集群在预设时段内的整体访问率,其中,所述微服务集群包括预设数量的微服务容器;
根据所述整体访问率与所述单点访问率确定微服务集群的需求容器数量;
若所述需求容器数量与所述预设数量不一致,根据所述需求容器数量调整微服务容器数量。
在一种实施例中,根据所述需求容器数量调整微服务容器数量的步骤,包括:
获取所述预设数量的微服务容器对应的参考访问率;
若所述整体访问率大于所述参考访问率,且所述延迟百分比大于预定阈值,根据需求容器数量与预设数量的数据差值确定新增容器数量,并创建所述新增容器数量的微服务容器;
若所述整体访问率小于所述参考访问率,且所述延迟百分比不大于预定阈值,根据需求容器数量与预设数量的数据差值确定待删容器数量,并删除所述待删容器数量的微服务容器。
在一种实施例中,所述微服务容器数量的调整方法,还包括:
若所述整体访问率等于所述参考访问率,且所述延迟百分比大于预定阈值,则发送表征微服务容器延迟异常的告警信息。
在一种实施例中,所述确定微服务集群在预设时段内的整体访问率的步骤,包括:
获取预设时段内微服务集群的访问次数,其中,所述微服务集群包括预设数量的微服务容器;
根据所述访问次数及预设时段的时长确定所述整体访问率。
在一种实施例中,所述获取预设时段内微服务集群的访问次数的步骤,包括:
利用prometheus监控系统获取微服务容器的监控数据;
从所述监控数据中提取所述预设时段内微服务容器的访问次数及记录时间;
基于记录时间统计所述预设时段内各微服务容器的访问次数,以确定微服务集群的访问次数。
在一种实施例中,所述确定微服务容器的延迟百分比,并根据所述延迟百分比确定微服务容器的单点访问率的步骤,包括:
获取微服务容器接收到的总访问次数及响应延迟的访问次数;
设置所述响应延迟的访问次数在总访问次数中的占比为该微服务容器的延迟百分比;
将所述延迟百分比为预定阈值时对应的访问率确定为该微服务容器的单点访问率。
相应地,本申请还提供了一种微服务容器数量的调整装置,包括:
单点访问率确定模块,用于确定微服务容器的延迟百分比,并根据所述延迟百分比确定微服务容器的单点访问率;
整体访问率确定模块,用于确定微服务集群在预设时段内的整体访问率,其中,所述微服务集群包括预设数量的微服务容器;
需求容器数量确定模块,用于根据所述整体访问率与所述单点访问率确定微服务集群的需求容器数量;
调整模块,用于若所述需求容器数量与所述预设数量不一致,根据所述需求容器数量调整微服务容器数量。
相应地,本申请还提供了一种微服务容器数量的调整系统,包括:
微服务集群、采集器、分析器、调度器,其中,微服务集群中包括至少一个微服务容器;
采集器用于确定微服务集群中各微服务容器的延迟百分比及单点访问率,并将所述延迟百分比及单点访问率发送至分析器;
分析器接收所述延迟百分比及单点访问率,并确定微服务集群在预设时段内的整体访问率,基于整体访问率与单点访问率确定微服务集群的需求容器数量,将所述需求容器数量发送至调度器;
调度器接收所述需求容器数量,并基于需求容器数量与预设数量调整微服务容器数量。
进一步地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机可以执行上述任一项技术方案所述的微服务容器数量的调整方法的步骤。
更进一步地,本申请实施例还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任意一技术方案所述的微服务容器数量的调整方法的步骤。
与现有技术相比,本申请提供的方案至少具备如下优点:
本申请提供的微服务容器数量的调整方法,基于微服务容器的延迟百分比确定微服务容器的单点访问率,根据微服务集群获得的整体访问率及每个微服务容器的单点访问率确定所需的容器数量,根据所需容器数量调整微服务集群中当前的容器数量,实现根据整体访问率自动调整容器数量的目的,即本申请提供的方案能够基于业务需求准确调整微服务容器数量,减少人工干预。
本实施例提供的微服务容器数量的调整方法,基于微服务容器的单点访问率进行需求容器数量的确定,由于该单点访问率是基于延迟百分比确定的,因此,能够通过延迟百分比的调整实现利用最少数量的微服务容器处理整体访问率,实现对微服务容器的优化配置,从而实现对微服务容器的精确调整。
附图说明
图1为本申请一个实施例提供的微服务容器数量的调整方法的流程图;
图2为本申请一个实施例提供的根据所述需求容器数量调整微服务容器数量的流程图;
图3为本申请一个实施例提供的获取预设时段内微服务集群的访问次数的流程图;
图4为本申请一个实施例提供的确定微服务容器的延迟百分比,并根据延迟百分比确定微服务容器的单点访问率的流程图;
图5为本申请一个实施例提供的微服务容器数量的调整系统的结构示意图;
图6为本申请一种实施例提供的微服务容器数量的调整装置的结构示意图;
图7为本申请一种实施例提供的计算机设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本申请实施例提供的微服务容器数量的调整方法,其执行主体可以通过软件、硬件或者软硬件结合的方式实现成为终端的部分或者全部。下述方法实施例中,以执行主体是服务器为例来进行说明。
本申请首先提供了一种微服务容器数量的调整方法,一个实施例提供的微服务容器数量的调整方法的流程图如图1所示,包括如下步骤:
步骤S110,确定微服务容器的延迟百分比,并根据所述延迟百分比确定微服务容器的单点访问率;
步骤S120,确定微服务集群在预设时段内的整体访问率,其中,所述微服务集群包括预设数量的微服务容器;
步骤S130,根据所述整体访问率与所述单点访问率确定微服务集群的需求容器数量;
步骤S140,若所述需求容器数量与所述预设数量不一致,根据所需容器数量调整微服务容器数量。
首先,获取微服务容器的延迟百分比,可选用如下方式进行:统计微服务容器接收到的访问次数、延迟响应的访问次数,确定该微服务上延迟响应的访问次数占总访问次数的比例,该比例为该微服务容器的延迟百分比。
基于微服务容器的延迟百分比确定该微服务容器的单点访问率,延迟百分比较高时,接收到访问响应的等待时间较长,影响用户体验,因此,为微服务容器的延迟百分比设定阈值,延迟百分比不超过设定阈值时,响应延迟处于可接受范围,设定微服务的延迟百分比为该设定阈值时,获得该微服务容器的最大查询率,将该最大查询率设定为微服务容器的单点访问率。
基于微服务容器的延迟百分比确定单点访问率,能够保证延迟响应的访问次数在可接受范围内,同时,使得微服务容器的访问资源利用率最大化。
当微服务容器为多个且每个微服务容器的延迟百分比不同时,可基于多个微服务容器的延迟百分比的平均值确定微服务集群中微服务容器的单点访问率。
统计预设时段内微服务容器的访问次数,根据所述访问次数及预设时段对应的时长确定微服务集群的整体访问率,访问率可以根据单位时间内的访问次数确定。
每个微服务对应设置一个容器,利用微服务集群的整体访问率与微服务的单点查询率确定微服务集群的需求容器数量,利用整体查询率与单点访问率确定实现整体访问率所需要的需求容器数量,由于单点访问率是最大程度利用微服务容器时对应的访问率阈值,在该访问率阈值下微服务容器处于满载状态,因此,需求容器数量为实现微服务集群整体访问率的最少容器数量。
进一步,将获得需求容器数量与微服务集群中微服务容器的预设数量进行对比,若需求容器数量与预设数量不一致,表明预设数量的微服务容器无法刚好实现上述整体访问率,即存在微服务容器冗余或微服务容器不满载的情况,后续通过需求容器数量对微服务集群中微服务容器的数量进行调整,可以将微服务集群中的容器数量调整为需求容器数量,以满足微服务容器资源利用率的最大化。
值得说明的是,步骤S110与步骤S120可以进行顺序更换,可以先获得整体访问率,再获取单点访问率,本申请对此不做限定。
本申请提供的微服务容器数量的调整方案,基于微服务容器的延迟百分比确定微服务容器的单点访问率,根据微服务集群获得的整体访问率及每个微服务容器的单点访问率确定所需的容器数量,根据所需容器数量调整微服务集群中当前的容器数量,实现根据整体访问率自动调整容器数量的目的,也即本申请实现了根据业务需求灵活调整微服务容器数量的目的,该过程自动进行,提高了调整微服务容器数量的灵活性,降低人工成本。
而且,本申请是基于微服务容器的单点访问率进行需求容器数量的确定,能够通过延迟百分比的调整实现微服务资源的最大化利用,实现对微服务容器的精确调整,降低资源消耗。
为了更清楚本申请提供的微服务容器数量的调整方案及其技术效果,接下来以多个实施例对其具体实施方案进行详细阐述。
一种实施例中,步骤S140的根据所述需求容器数量调整微服务容器数量的步骤,可以通过如下方式实现,其流程图如图2所示,包括:
S210,获取所述预设数量的微服务容器对应的参考访问率;
S220,若所述整体访问率大于所述参考访问率,且所述延迟百分比大于预定阈值,根据需求容器数量与预设数量的数据差值确定新增容器数量,并创建所述新增容器数量的微服务容器;
S230,若所述整体访问率小于所述参考访问率,且所述延迟百分比不大于预定阈值,根据需求容器数量与预设数量的数据差值确定待删容器数量,并删除所述待删容器数量的微服务容器。
其中,参考访问率可以根据所述微服务容器的预设数量及延迟百分比确定,也可以调取所述预设数量的微服务容器对应的参考访问率,该参考访问率为预设数量的微服务容器在延迟百分比不超过预定阈值时对应的访问率,也即预设数量的微服务能够最大程度处理的访问率,若前次微服务容器数量也基于访问率及延迟百分比进行自动调整,那么调整后的容器数量为上述预设数量,可以通过调取前次整体访问率获得所述参考访问率。
与参考访问率相比,若整体访问率有所增加,并且微服务容器的延迟百分比大于预定阈值,表明微服务集群处于超载状态,需要新增微服务以缓解微服务的业务压力,避免系统瘫痪,新增容器数量通过需求容器数量与预设数量的数据差确定,后续创建相应数量的容器。
若整体访问率有所减少且微服务容器的延迟百分比小于或等于预定阈值,表明访问率减少,微服务容器的负载处于不饱和状态,即微服务集群中存在不饱和状态的微服务容器,通过减少微服务集群中的微服务容器,提高各微服务容器的资源利用率。
本实施例提供的方案,利用整体访问率及延迟百分比确定微服务容器的调整方式,除了能够确定调整方式是新增还是删除,还能确定新增或删除的容器数量,进而根据调整方式及调整数量自动进行微服务容器的调整,有利于降低微服务容器冗余,优化资源利用。
上述实施例是通过整体访问率及延迟百分比调整容器数量实现资源的优化配置,本申请还提供了如下方案以优化资源利用,调取所述预设数量的微服务容器对应的参考访问率的步骤之后,还包括:
S240,若整体访问率等于所述参考访问率,且所述延迟百分比大于预定阈值,则发送表征微服务容器延迟异常的告警信息。
该种情况下,整体访问率没有发生变化,表征当前设置的微服务容器的数量是充足的,无需新增容器数量,但微服务的延迟百分比大于预定阈值,表明微服务容器的响应出现阻塞,延迟较大,则发送告警信息,以提醒用户及时获知延迟异常信息,进而及时处理异常的延迟,优化资源利用率。
本申请根据整体访问率与延迟百分比的组合设置不同的方案,值得说明的是,虽然为每种方案标识了步骤序号,但步骤S220至240并非顺序执行,这三种方案的执行无顺序限制。
进一步地,当微服务集群中各微服务容器的单点访问率不同时,若与参考访问率相比,整体访问率减少且所述延迟百分比小于预定阈值,即在需求容器数量小于微服务集群中当前设置的微服务容器数量时,获取当前待删容器数量对应的待删访问率,调取各微服务容器的单点访问率,确定单点访问率与所述待删访问率相应的微服务容器为待删微服务容器,待删微服务容器或调整待删容器数量。
示例如下:微服务集群中设置5个微服务容器,对应的单点访问率依次为Q1、Q2、Q3、Q4、Q5,在确定微服务容器的单点访问率时采用的是平均单点访问率Q,其中,Q3=2Q,Q1=Q2=Q,假设待删容器数量为2,那么待删访问率为2Q,则根据待删访问率与各微服务容器的单点访问率可以确定待删容器数量及具体的待删容器,该种情况下,可以删除单点访问率Q1、Q2对应的微服务容器,或者删除Q3对应的微服务容器,有利于减少删除的微服务容器数量,避免后续需要新建微服务容器时,重复进行创建操作引起的资源浪费。
一种实施例中,S120的确定微服务集群在预设时段内的整体访问率的步骤,可以通过如下方式进行,包括:
A1、获取预设时段内微服务集群的访问次数,其中,所述微服务集群包括预设数量的微服务容器;
A2、根据所述访问次数及预设时段的时长确定所述整体访问率。
微服务集群中包括预设数量的微服务容器,获取每个微服务容器上接收到的访问次数,累计每个微服务容器上的访问次数获得微服务集群的访问次数。
当微服务集群中存在多个微服务容器时,统计每个微服务容器接收到的访问次数,累计微服务集群中所有微服务容器在预设时段接收到的访问次数,基于访问次数及预设时段的时长确定微服务集群的整体访问率,如:11月12日11:00至11:05时段内,微服务集群的访问次数为100,则微服务集群的整体访问率为100/(5*60)=0.33次/秒。
其中,获取预设时段内微服务集群的访问次数,可以通过如下方式进行,其流程图如图3所示,包括:
S310,利用prometheus监控系统获取微服务容器的监控数据;
S320,从所述监控数据中提取所述预设时段内微服务容器的访问次数及记录时间;
S330,基于记录时间统计所述预设时段内各微服务容器的访问次数,以确定微服务集群的访问次数。
本申请实施例优先使用prometheus监控系统获取并保存微服务容器的监控数据,Prometheus是一种开源监控监控系统,能够按照设定周期收集目标微服务容器的运行数据,如监控数据等。在微服务容器端增加拦截模块,拦截模块可以采用微服务框架扩展机制、拦截器、过滤器或AOP(Aspect Oriented Programming,面向切面编程)等至少一种手段,拦截模块记录微服务容器接收访问的访问次数、记录时间等监控数据,并暴露包含监控数据的访问地址,以便prometheus监控系统通过该访问地址获取微服务的监控数据。
基于监控数据中的访问次数及记录时间确定微服务集群的整体访问率,所述监控数据中还包括访问延迟时间,基于访问延迟时间能够确定微服务容器的延迟百分比,也就是说基于微服务容器的监控数据确定整体访问率及延迟百分比。
prometheus监控系统拉取微服务的监控数据,并将监控数据存储到数据库中,当接收到调取微服务容器在预设时段内的访问次数的请求时,按照时间标识遍历记录时间调取数据库中对应的访问次数,在微服务集群中包括多个微服务容器时,从数据库中调取微服务集群中所有微服务容器的访问次数,并对各微服务容器的访问次数进行累加确定微服务集群的访问次数。
本实施例提供一种获取微服务集群的整体访问率的方案,根据预设时段内微服务集群接收的访问次数确定整体访问率,操作简便,耗费资源少;而且,利用prometheus监控系统进行微服务监控数据的获取,实现监控数据的自动获取,便于后续调用。
一种实施例中,步骤S110的确定微服务容器的延迟百分比,并根据延迟百分比确定微服务容器的单点访问率的步骤,可以通过如下方式进行,其流程图如图4所示,包括如下子步骤:
S410,获取微服务容器接收到的总访问次数及响应延迟的访问次数;
S420,设置所述响应延迟的访问次数在总访问次数中的占比为该微服务容器的延迟百分比;
S430,将所述延迟百分比为预定阈值时对应的访问率确定为该微服务容器的单点访问率。
微服务容器接收到的总访问次数及响应延迟的访问次数可以通过拦截器、过滤器等拦截模块获得,也可以通过上述实施例中的prometheus监控系统拉取的监控数据获得,接下来以通过监控数据方式为例阐述确定单点访问率的过程:调取微服务容器的监控数据,所述监控数据包括访问次数、响应延迟时间和记录时间;其中,监控数据中的访问次数为微服务容器接收到的总访问次数,基于所述监控数据统计响应延迟的访问次数,计算响应延迟的访问次数在总访问次数中所占比例,将该比例设定为该微服务容器的延迟百分比。
微服务容器的延迟百分比存在上限阈值,该上限阈值可以自定义或者根据微服务容器的性能确定,将该上限阈值称为预定阈值,超过该预定阈值,微服务容器的延迟百分比过高,即访问请求的延迟响应比例增大,可能导致微服务容器中的进程产生阻塞,微服务容器的资源消耗过高,访问请求端的等待时长过长,影响用户体验,相反地,延迟百分比未超过该预定阈值时,上述不利影响不会出现。将延迟百分比设定为该预定阈值时,微服务容器接收到的访问率确定为微服务容器的单点访问率,该种方案能够保证微服务最大程度地处理访问请求,同时不会影响用户体验或不会造成微服务的资源消耗过多,优化资源利用率。
按照上述方式获得每个微服务容器的单点访问率,若每个微服务容器的单点访问率不同,可以对各单点访问率求平均值,将单点访问率的平均值作为微服务集群中微服务容器的单点访问率。
进一步地,基于上述微服务容器数量的调整方法,本申请还相应提供了一种微服务容器数量的调整系统,其结构示意图如图5所示,包括如下部件:微服务集群、采集器、分析器、调度器,其中各个部件之间顺序进行数据传递,构成一个闭环系统,实现根据整体访问率自动调整微服务集群中微服务容器的数量。
其中,微服务集群中包括至少一个微服务容器;
采集器用于确定微服务集群中各微服务容器的延迟百分比及单点访问率,并将所述延迟百分比及单点访问率发送至分析器;
分析器接收所述延迟百分比及单点访问率,并确定微服务集群在预设时段内的整体访问率,基于整体访问率与单点访问率确定微服务集群的需求容器数量,将所述需求容器数量发送至调度器;
调度器接收所述需求容器数量,并基于需求容器数量与预设数量调整微服务容器数量。
具体地,微服务集群中包括预设数量的微服务容器,每个微服务容器相对独立,采集器用于采集表征微服务性能及当前业务量的运行数据,如微服务容器的监控数据,基于监控数据确定微服务容器的延迟百分比、单点访问率,并将延迟百分比、单点访问率传递到分析器中,分析器根据预设时段内微服务集群的整体访问率及微服务容器的单点访问率确定对应的需求容器数量,调度器根据需求容器数量与预设数量的对比结果确定微服务集群中当前设置的微服务容器数量是否需要调整,若需要,则进行相应调整,以满足业务需求。
针对微服务容器数量的调整系统,其具体执行过程参照上述微服务容易数量的调整方法的实施例的描述,在此不再赘述。
本申请实施例提供的微服务容器数量的调整系统,通过微服务容器的监控数据确定当前业务量及微服务性能,即确定整体访问率及单点访问率,分析在该种整体访问率及单点访问率的情况下,当前设置的微服务容器在数量上是否需要调整,若需要,将分析结果传递给调度器,调度器根据分析结果通过进行微服务容器数量的调整,以满足当前业务需求,该闭环系统实现了根据当前整体访问率自动调整微服务容器数量的目的,实现微服务容器数量的自动伸缩,而且,本申请是基于微服务容器的单点访问率进行微服务容器数量的调整,因此,微服务的延迟百分比处于预设阈值内,即处于可接受范围内,该调整系统能够保证服务质量的同时,提高微服务容器的资源利用率。
以上为本申请提供的微服务容器数量的调整方法及系统的实施例,针对于该方法,下面阐述与其对应的微服务容器数量的调整装置的实施例。
本申请实施例还提供了一种微服务容器数量的调整装置,其结构示意图如图6所示,包括:单点访问率确定模块610、整体访问率确定模块620、需求容器数量确定模块630、调整模块640,具体如下:
单点访问率确定模块610,用于确定微服务容器的延迟百分比,并根据所述延迟百分比确定微服务容器的单点访问率;
整体访问率确定模块620,用于确定微服务集群在预设时段内的整体访问率,其中,所述微服务集群包括预设数量的微服务容器;
需求容器数量确定模块630,用于根据所述整体访问率与所述单点访问率确定微服务集群的需求容器数量;
调整模块640,用于若所述需求容器数量与所述预设数量不一致,根据所述需求容器数量调整微服务容器数量。
关于上述实施例中的微服务容器数量的调整装置,其中各个模块的执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
进一步地,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现上述任意一项所述的微服务容器数量的调整方法的步骤。其中,所述存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random AcceSS Memory,随即存储器)、EPROM(EraSable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically EraSable Programmable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。可以是只读存储器,磁盘或光盘等。
更进一步地,本申请实施例还提供一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任意一项所述的微服务容器数量的调整方法的步骤。
图7是根据一示例性实施例示出的一种用于计算机设备700的框图。例如,计算机设备700可以被提供为服务器。参照图7,计算机设备700包括处理组件722,其进一步包括一个或多个处理器,以及由存储器732所代表的存储器资源,用于存储可由处理组件722的执行的指令,例如应用程序。存储器732中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件722被配置为执行指令,以执行上述基于SLI的微服务容器数量调整方法的步骤。
计算机设备700还可以包括一个电源组件726被配置为执行计算机设备700的电源管理,一个有线或无线网络接口750被配置为将计算机设备700连接到网络,和一个输入输出(I/O)接口758。计算机设备700可以操作基于存储在存储器732的操作系统,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
应该理解的是,在本申请各实施例中的各功能单元可集成在一个处理模块中,也可以各个单元单独物理存在,也可以两个或两个以上单元集成于一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (8)
1.一种微服务容器数量的调整方法,其特征在于,包括:
确定微服务容器的延迟百分比,并根据所述延迟百分比确定微服务容器的单点访问率;
确定微服务集群在预设时段内的整体访问率,其中,所述微服务集群包括预设数量的微服务容器;
根据所述整体访问率与所述单点访问率确定微服务集群的需求容器数量;
若所述需求容器数量与所述预设数量不一致,根据所述需求容器数量调整微服务容器数量;
根据所述需求容器数量调整微服务容器数量的步骤,包括:
获取所述预设数量的微服务容器对应的参考访问率;
若所述整体访问率大于所述参考访问率,且所述延迟百分比大于预定阈值,根据需求容器数量与预设数量的数据差值确定新增容器数量,并创建所述新增容器数量的微服务容器;
若所述整体访问率小于所述参考访问率,且所述延迟百分比不大于预定阈值,根据需求容器数量与预设数量的数据差值确定待删容器数量,并删除所述待删容器数量的微服务容器;
还包括:
若所述整体访问率等于所述参考访问率,且所述延迟百分比大于预定阈值,则发送表征微服务容器延迟异常的告警信息。
2.根据权利要求1所述的微服务容器数量的调整方法,其特征在于,所述确定微服务集群在预设时段内的整体访问率的步骤,包括:
获取预设时段内微服务集群的访问次数,其中,所述微服务集群包括预设数量的微服务容器;
根据所述访问次数及预设时段的时长确定所述整体访问率。
3.根据权利要求2所述的微服务容器数量的调整方法,其特征在于,所述获取预设时段内微服务集群的访问次数的步骤,包括:
利用prometheus监控系统获取微服务容器的监控数据;
从所述监控数据中提取所述预设时段内微服务容器的访问次数及记录时间;
基于记录时间统计所述预设时段内各微服务容器的访问次数,以确定微服务集群的访问次数。
4.根据权利要求1所述的微服务容器数量的调整方法,其特征在于,所述确定微服务容器的延迟百分比,并根据所述延迟百分比确定微服务容器的单点访问率的步骤,包括:
获取微服务容器接收到的总访问次数及响应延迟的访问次数;
设置所述响应延迟的访问次数在总访问次数中的占比为该微服务容器的延迟百分比;
将所述延迟百分比为预定阈值时对应的访问率确定为该微服务容器的单点访问率。
5.一种微服务容器数量的调整装置,其特征在于,包括:
单点访问率确定模块,用于确定微服务容器的延迟百分比,并根据所述延迟百分比确定微服务容器的单点访问率;
整体访问率确定模块,用于确定微服务集群在预设时段内的整体访问率,其中,所述微服务集群包括预设数量的微服务容器;
需求容器数量确定模块,用于根据所述整体访问率与所述单点访问率确定微服务集群的需求容器数量;
调整模块,用于若所述需求容器数量与所述预设数量不一致,根据所述需求容器数量调整微服务容器数量;
所述调整模块执行根据所述需求容器数量调整微服务容器数量的步骤时用于:
获取所述预设数量的微服务容器对应的参考访问率;
若所述整体访问率大于所述参考访问率,且所述延迟百分比大于预定阈值,根据需求容器数量与预设数量的数据差值确定新增容器数量,并创建所述新增容器数量的微服务容器;
若所述整体访问率小于所述参考访问率,且所述延迟百分比不大于预定阈值,根据需求容器数量与预设数量的数据差值确定待删容器数量,并删除所述待删容器数量的微服务容器;
所述装置还包括告警模块,用于:
若所述整体访问率等于所述参考访问率,且所述延迟百分比大于预定阈值,则发送表征微服务容器延迟异常的告警信息。
6.一种微服务容器数量的调整系统,其特征在于,包括:
微服务集群、采集器、分析器、调度器,其中,微服务集群中包括至少一个微服务容器;
采集器用于确定微服务集群中各微服务容器的延迟百分比及单点访问率,并将所述延迟百分比及单点访问率发送至分析器;
分析器接收所述延迟百分比及单点访问率,并确定微服务集群在预设时段内的整体访问率,基于整体访问率与单点访问率确定微服务集群的需求容器数量,将所述需求容器数量发送至调度器;
调度器接收所述需求容器数量,并基于需求容器数量与预设数量调整微服务容器数量;
调度器获取所述预设数量的微服务容器对应的参考访问率;
若所述整体访问率大于所述参考访问率,且所述延迟百分比大于预定阈值,根据需求容器数量与预设数量的数据差值确定新增容器数量,并创建所述新增容器数量的微服务容器;
若所述整体访问率小于所述参考访问率,且所述延迟百分比不大于预定阈值,根据需求容器数量与预设数量的数据差值确定待删容器数量,并删除所述待删容器数量的微服务容器;
若所述整体访问率等于所述参考访问率,且所述延迟百分比大于预定阈值,则发送表征微服务容器延迟异常的告警信息。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机可以执行上述权利要求1至4中任一项所述的微服务容器数量的调整方法的步骤。
8.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至4中任一项所述的微服务容器数量的调整方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010102793.3A CN111309442B (zh) | 2020-02-19 | 2020-02-19 | 微服务容器数量的调整方法、装置、系统、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010102793.3A CN111309442B (zh) | 2020-02-19 | 2020-02-19 | 微服务容器数量的调整方法、装置、系统、介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111309442A CN111309442A (zh) | 2020-06-19 |
CN111309442B true CN111309442B (zh) | 2023-07-28 |
Family
ID=71154921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010102793.3A Active CN111309442B (zh) | 2020-02-19 | 2020-02-19 | 微服务容器数量的调整方法、装置、系统、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111309442B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111756601B (zh) * | 2020-06-24 | 2023-02-03 | 中国平安财产保险股份有限公司 | 微服务架构监控方法、装置、计算机设备及可读存储介质 |
CN113485830A (zh) * | 2021-07-01 | 2021-10-08 | 广东电网有限责任公司 | 一种电网监控系统微服务自动扩容方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108984269A (zh) * | 2018-07-16 | 2018-12-11 | 中山大学 | 基于随机回归森林模型的容器资源供给方法及系统 |
CN109408207A (zh) * | 2018-09-20 | 2019-03-01 | 北京小米移动软件有限公司 | 微服务访问控制方法、装置及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9851997B2 (en) * | 2015-06-25 | 2017-12-26 | Vmware, Inc. | Optimizing order of migrating virtual computing instances for increased cloud services engagement |
CN106330576B (zh) * | 2016-11-18 | 2019-10-25 | 北京红马传媒文化发展有限公司 | 容器化微服务自动伸缩及迁移调度的方法、系统和设备 |
US11063844B2 (en) * | 2017-02-10 | 2021-07-13 | Apple Inc. | Systems, methods and devices for virtual resource metric management |
CN108769100A (zh) * | 2018-04-03 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种基于kubernetes容器数量弹性伸缩的实现方法及其装置 |
CN108845910B (zh) * | 2018-05-31 | 2024-02-06 | 康键信息技术(深圳)有限公司 | 大规模微服务系统的监控方法、装置及存储介质 |
CN110149396B (zh) * | 2019-05-20 | 2022-03-29 | 华南理工大学 | 一种基于微服务架构的物联网平台构建方法 |
-
2020
- 2020-02-19 CN CN202010102793.3A patent/CN111309442B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108984269A (zh) * | 2018-07-16 | 2018-12-11 | 中山大学 | 基于随机回归森林模型的容器资源供给方法及系统 |
CN109408207A (zh) * | 2018-09-20 | 2019-03-01 | 北京小米移动软件有限公司 | 微服务访问控制方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111309442A (zh) | 2020-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110502494B (zh) | 日志处理方法、装置、计算机设备及存储介质 | |
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
CN107592345B (zh) | 交易限流装置、方法及交易系统 | |
CN108770017B (zh) | 一种无线资源动态均衡方法及系统 | |
CN111309442B (zh) | 微服务容器数量的调整方法、装置、系统、介质及设备 | |
CN111966289B (zh) | 基于Kafka集群的分区优化方法和系统 | |
US11102289B2 (en) | Method for managing resource state information and system for downloading resource | |
CN111522636A (zh) | 应用容器的调整方法、调整系统、计算机可读介质及终端设备 | |
US10686867B2 (en) | Scaled in-order record input ingestion for file-based streams in multi-threaded environments | |
MXPA06014827A (es) | Dispositivo mejorador para el procesamiento de estadisticas de red. | |
CN112559154B (zh) | 消息发送量增长的优化方法、系统、设备及可读存储介质 | |
CN112306369A (zh) | 一种数据处理方法、装置、服务器及存储介质 | |
CN114385378A (zh) | 物联网设备的活跃数据处理方法、装置及存储介质 | |
CN114153609A (zh) | 资源控制方法及装置、电子设备、计算机可读存储介质 | |
CN113891336A (zh) | 通信网络减频退网方法、装置、计算机设备和存储介质 | |
CN116415045A (zh) | 数据采集方法、装置、电子设备及存储介质 | |
CN111405020B (zh) | 基于消息队列和fastDFS微服务架构的异步文件导出方法及系统 | |
CN113918636B (zh) | 一种基于etl的数据处理量分析方法 | |
CN114090409A (zh) | 一种消息处理方法及装置 | |
CN116841815A (zh) | 运行监控方法、装置、电子设备和存储介质 | |
CN111158899A (zh) | 一种数据的采集方法、采集器、任务管理中心以及系统 | |
CN113258679A (zh) | 基于服务器实例缩容的电网监控系统通道分配方法 | |
CN112084090A (zh) | 服务器管理方法、服务器、管理终端及存储介质 | |
CN115242735B (zh) | 一种实时语音流切片分析方法、系统及计算机设备 | |
CN113835896B (zh) | 一种Gaia系统中面向迭代计算的并行度动态调整方法 |
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 |