CN114138467B - 容量自动调整系统、方法、计算机设备及存储介质 - Google Patents
容量自动调整系统、方法、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN114138467B CN114138467B CN202111341394.3A CN202111341394A CN114138467B CN 114138467 B CN114138467 B CN 114138467B CN 202111341394 A CN202111341394 A CN 202111341394A CN 114138467 B CN114138467 B CN 114138467B
- Authority
- CN
- China
- Prior art keywords
- service
- request information
- service request
- container
- control instruction
- 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
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000012544 monitoring process Methods 0.000 claims abstract description 75
- 238000004590 computer program Methods 0.000 claims description 24
- 230000009467 reduction Effects 0.000 claims description 14
- 239000003795 chemical substances by application Substances 0.000 description 14
- 208000024780 Urticaria Diseases 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及一种容量自动调整系统、方法、计算机设备及存储介质,其中,系统包括:至少一个Pod集群、监控模块、部署模块,Pod集群包括至少一个Pod,Pod包括代理容器和至少一个业务容器,代理容器用于劫持K8s分配至Pod的服务请求信息发送至监控模块,并将服务请求信息转发至响应服务请求的目标业务容器,业务容器用于接收代理容器发送的服务请求信息,并响应于该服务请求,监控模块用于对接收到的服务请求信息进行分析汇总,生成均衡当前服务的负载的控制指令,将控制指令发送至部署模块,部署模块用于接收监控模块发送的控制指令,并根据控制指令自动调整当前服务的容量,使服务的平衡负载保持在合理区间范围,提高服务的稳定性和资源利用率。
Description
技术领域
本申请涉及云计算技术领域,特别是涉及一种容量自动调整系统、方法、计算机设备及存储介质。
背景技术
随着容器化技术的不断发展成熟,容器的商业程度也不断提高。其中,以容器编排调度引擎(Kubernetes,K8s)为代表,其版本迭代越来越快,功能越来越稳定,生态越来越健全。K8s不直接运行容器,它将一个或者多个容器封装在一个称为Pod的高级结构中,通过Pod响应系统的服务请求。
为了保证服务的稳定运行,根据当前服务的负载调整Pod的个数,使得服务的平均负载处于一个可控的合理范围。目前,若当前服务的负载发生变化,在K8s中难以及时地调整Pod的数量,降低服务的稳定性,且资源利用率低。
发明内容
基于此,有必要针对上述技术问题,提供一种容量自动调整系统、方法、计算机设备及存储介质,能够动态调整Pod的数量,使服务的平衡负载保持在合理区间范围,提高服务的稳定性和资源利用率。
第一方面,提供一种容量自动调整系统,该系统基于容器编排调度引擎K8s搭建,包括:至少一个Pod集群、监控模块、部署模块,其中,Pod集群包括至少一个Pod,每个Pod内封装有代理容器和至少一个业务容器;
代理容器,用于劫持K8s分配至Pod的服务请求信息发送至监控模块,并将服务请求信息转发至目标业务容器,目标业务容器为至少一个业务容器中提供服务请求信息对应的当前服务的业务容器;
业务容器,用于接收代理容器发送的服务请求信息,并响应于服务请求信息对应的当前服务的请求;
监控模块,用于接收至少一个Pod中的代理容器发送的服务请求信息,根据服务请求信息生成均衡当前服务的负载的控制指令,将控制指令发送至部署模块;
部署模块,用于接收监控模块发送的控制指令,并根据控制指令自动调整当前服务的容量。
在一些可能的实现方式中,监控模块,用于根据服务请求信息生成均衡当前服务的负载的控制指令,包括:
监控模块,用于分析服务请求信息,得到至少一个Pod的服务链路信息,并根据服务链路信息生成均衡当前服务的负载的控制指令。
在一些可能的实现方式中,监控模块,用于根据服务链路信息生成均衡当前服务的负载的控制指令,包括:
监控模块,具体用于根据服务链路信息实时监测至少一个Pod中的目标业务容器响应于当前服务提供的流量,通过预设算法计算当前服务的当前负载值和未来负载值;
当前负载值或未来负载值大于预设阈值时,生成均衡当前服务的负载的添加控制指令;
当前负载值或未来负载值小于预设阈值时,生成均衡当前服务的负载的缩减控制指令。
在一些可能的实现方式中,部署模块,用于根据控制指令自动调整当前服务的容量,包括:
部署模块,具体用于当控制指令为添加控制指令时,增加Pod集群中Pod的数量,以延伸当前服务的容量;
当控制指令为缩减控制指令时,减少Pod集群中Pod的数量,以缩小当前服务的容量。
在一些可能的实现方式中,代理容器,用于将服务请求信息转发至目标业务容器,包括:
代理容器,用于解析服务请求信息,得到提供服务请求信息对应的当前服务的业务容器的端口信息;
根据端口信息,将服务请求信息转发至目标业务容器。
在一些可能的实现方式中,该系统还包括:查询模块,用于根据服务链路信息提供请求链路查询,以展示服务请求信息对应的服务请求经过的服务节点和链路转发路径。
第二方面,提供了一种容量自动调整方法,该方法应用于第一方面或者第一方面任意一种实现方式中的容量自动调整系统,包括:
代理容器劫持K8s分配至Pod的服务请求信息发送至监控模块,并将服务请求信息转发至目标业务容器,目标业务容器为至少一个业务容器中提供服务请求信息对应的当前服务的业务容器;
业务容器接收代理容器发送的服务请求信息,并响应于服务请求信息对应的当前服务的请求;
监控模块接收至少一个Pod中的代理容器发送的服务请求信息,根据服务请求信息生成均衡当前服务的负载的控制指令,将控制指令发送至部署模块;
部署模块接收监控模块发送的控制指令,并根据控制指令自动调整当前服务的容量。
在一种可能的实现方式中,监控模块根据服务请求信息生成均衡当前服务的负载的控制指令,包括:
监控模块分析服务请求信息,得到至少一个Pod的服务链路信息;
根据服务链路信息生成均衡当前服务的负载的控制指令。
第三方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现第二方面或者第二方面任意一种实现方式中的容量自动调整方法。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现第二方面或者第二方面任意一种实现方式中的容量自动调整方法。
上述容量自动调整系统、方法、计算机设备及存储介质,其中,系统包括:至少一个Pod集群、监控模块、部署模块,Pod集群包括至少一个Pod,每个Pod内封装有代理容器和至少一个业务容器,代理容器用于劫持K8s分配至Pod的服务请求信息发送至监控模块,并将服务请求信息转发至该代理容器所在的Pod集群中正在提供服务的业务容器中,业务容器用于接收代理容器发送的服务请求信息,并响应于服务请求信息对应的当前服务的请求,监控模块用于对接收到的所有请求信息进行分析汇总,生成均衡当前服务的负载的控制指令,将控制指令发送至部署模块,部署模块用于接收监控模块发送的控制指令,并根据控制指令自动调整当前服务的容量,使服务的平衡负载保持在合理区间范围,提高服务的稳定性和资源利用率。
附图说明
图1为本申请一个实施例中容量自动调整系统的结构示意图;
图2为一个实施例中容量自动调整方法的流程示意图;
图3为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
微服务的k8s化随着企业的不断发展壮大,对服务、算力的需求也与日俱增。云计算时代,企业上云成功打破了物理服务器设备对企业的束缚,企业可根据发展的需要,增加或减少服务器的规模实现了按需、按量获取的计划性、经济性发展,业务上云成为发展的趋势和主流。
在微服务架构下,一个大型系统往往由几十个微服务构成,由于每个微服务独立提供单一的服务,一个比较复杂的系统功能往往需要数个甚至数十个微服务模块协作完成,因此,微服务之间的请求链路也更加的复杂。而在系统运行中,针对整个请求链路的监控、追踪与分析,有利于准确及时地调整Pod的数量,使服务的平衡负载保持在合理区间范围,提高服务的稳定性。因此,能够全面准确地监控请求链路数据对系统的健康运行具有重要的意义。
图1示出了本申请一个实施例提供的容量自动调整系统的结构示意图,该系统利用k8s的服务和部署模块部署微服务模块,每一个服务代表一种微服务,并且由关联的多个pod构成微服务集群,每个pod可提供完全相同的服务能力,统一对外提供单一服务。如图1所示,包括:至少一个Pod集群100、监控模块200、部署模块300,其中,Pod集群100包括至少一个Pod110,每个Pod110内封装有代理容器111和至少一个业务容器112。图1中仅简单示出了容量自动调整系统包括一个Pod集群100,Pod包括一个业务容器的情况,在实际应用中,容量自动调整系统可以包括多个Pod集群100,Pod包括多个业务容器112,此处不做限定。
其中,代理容器,用于劫持K8s分配至Pod的服务请求信息发送至监控模块,并将服务请求信息转发至目标业务容器,目标业务容器为至少一个业务容器中提供服务请求信息对应的当前服务的业务容器。
当在web端要访问某个服务时,向后端发送一个访问请求,K8s自动解析出该服务对应的Pod集群,然后自动把服务请求分配到Pod集群中的一个Pod中。
代理容器劫持所有K8s分配至Pod的服务请求信息,并发送至监控模块。代理容器功能简单,仅需要较少的资源就可以实现既定功能,避免资源的过多占用。
同时,通过解析服务请求信息,获取当前服务的路径、源地址、目的地址容、容器端口等信息,由于每个业务容器暴露的端口不一样,根据解析出的容器端口将请求转发至当前Pod中的真正提供该服务的业务容器中,即,目标业务容器。代理容器前置,且功能相对独立,避免了对业务容器的侵入。
业务容器,用于接收代理容器发送的服务请求信息,并响应于服务请求信息对应的当前服务的请求。
监控模块,用于接收至少一个Pod中的代理容器发送的服务请求信息,根据服务请求信息生成均衡当前服务的负载的控制指令,将控制指令发送至部署模块。
若web端要访问多个服务时,向后端发送多个访问请求,K8s解析出多个服务对应的Pod集群,然后自动把服务请求分配到多个Pod集群中的一个Pod中,也就是说,会有多个Pod将要接收到服务请求信息,每个Pod中的代理容器劫持其所在Pod分配到的服务请求信息发送至监控模块,监控模块接收到至少一个服务请求信息,根据服务链路信息生成均衡当前服务的负载的控制指令,将控制指令发送至部署模块。
部署模块,用于接收监控模块发送的控制指令,并根据控制指令自动调整当前服务的容量。
在本申请实施例中,代理容器用于劫持K8s分配至Pod的服务请求信息发送至监控模块,并将服务请求信息转发至该代理容器所在的Pod集群中正在提供服务的业务容器中,业务容器用于接收代理容器发送的服务请求信息,并响应于服务请求信息对应的当前服务的请求,监控模块用于对接收到的所有请求信息进行分析汇总,生成均衡当前服务的负载的控制指令,将控制指令发送至部署模块,部署模块用于接收监控模块发送的控制指令,并根据控制指令自动调整当前服务的容量,使服务的平衡负载保持在合理区间范围,提高服务的稳定性和资源利用率。
在一些实施例中,监控模块,用于根据服务请求信息生成均衡当前服务的负载的控制指令,包括:
监控模块,用于分析服务请求信息,得到至少一个Pod的服务链路信息,并根据服务链路信息生成均衡当前服务的负载的控制指令。
服务链路信息为所有Pod接收的服务请求形成的链路信息。监控模块对所有的服务请求信息进行汇总、分析,形成所有服务请求的链路信息,全面准确地监控请求链路信息,根据链路信息生成均衡当前服务的负载的控制指令。
在一些实施例中,监控模块,用于根据服务链路信息生成均衡当前服务的负载的控制指令,包括:
监控模块,具体用于根据服务链路信息实时监测至少一个Pod中的目标业务容器响应于当前服务提供的流量,通过预设算法计算当前服务的当前负载值和未来负载值;
当前负载值或未来负载值大于预设阈值时,生成均衡当前服务的负载的添加控制指令;
当前负载值或未来负载值小于预设阈值时,生成均衡当前服务的负载的缩减控制指令。
监控模块根据Pod上报的服务请求信息实时监测Pod中的目标业务容器响应于当前服务提供的流量,通过预设算法计算当前负载值和未来负载值。当前负载值或未来负载值大于预设阈值时,说明当前负载和未来负载过高,需要更多的Pod为服务提供流量,生成均衡当前服务的负载的添加控制指令。当前负载值或未来负载值小于预设阈值时,说明当前负载和未来负载过低,需要较少的Pod为服务提供流量,生成均衡当前服务的负载的缩减控制指令。其中,预设算法为预测算法,预设阈值可根据实际应用确定,此处不做限定。
本申请实施例中流量负载分析可基于接口级别,对比与仅仅根据CPU等指标,更加贴合实际业务,具有更好的灵活性。
在一些实施例中,部署模块,用于根据控制指令自动调整当前服务的容量,包括:
部署模块,具体用于当控制指令为添加控制指令时,增加Pod集群中Pod的数量,以延伸当前服务的容量;
当控制指令为缩减控制指令时,减少Pod集群中Pod的数量,以缩小当前服务的容量。
当部署模块接收到添加控制指令时,k8s可自动编排出服务能力完全相同的pod,自动加入到原Pod集群中,降低服务的平均负载;当部署模块接收到缩减控制指令时,k8s可自动销毁一个pod,并从原服务集群中移除,提高服务的平均负载,实现当前服务容量的伸缩,使得服务的平均负载保持在合理的范围内,有利于资源的合理分配。
在一些实施例中,该系统还包括:查询模块,用于根据服务链路信息提供请求链路查询,以展示服务请求信息对应的服务请求经过的服务节点和链路转发路径。
监控模块通过查询模块提供实时地请求链路查询服务,可形象地展示服务请求经过的每个服务节点和链路转发路径,对外提供了服务请求的全生命周期的监控、追踪,对整个系统的健康运作提供了保证。
在一些实施例中,如图2所示,提供了一种容量自动调整方法,该方法应用于图1所示的系统中,包括以下步骤:
S210,代理容器劫持K8s分配至Pod的服务请求信息发送至监控模块,并将服务请求信息转发至目标业务容器,目标业务容器为至少一个业务容器中提供服务请求信息对应的当前服务的业务容器;
S220,业务容器接收代理容器发送的服务请求信息,并响应于服务请求信息对应的当前服务的请求;
S230,监控模块接收至少一个Pod中的代理容器发送的服务请求信息,根据服务请求信息生成均衡当前服务的负载的控制指令,将控制指令发送至部署模块;
S240,部署模块接收监控模块发送的控制指令,并根据控制指令自动调整当前服务的容量。
在本申请实施例中,能够使服务的平衡负载保持在合理区间范围,提高服务的稳定性和资源利用率。
在一些实施例中,监控模块根据服务请求信息生成均衡当前服务的负载的控制指令,包括:
监控模块分析服务请求信息,得到至少一个Pod的服务链路信息;
根据服务链路信息生成均衡当前服务的负载的控制指令。
在一些实施例中,监控模块根据服务链路信息生成均衡当前服务的负载的控制指令,包括:
监控模块根据服务链路信息实时监测至少一个Pod中的目标业务容器响应于当前服务提供的流量,通过预设算法计算当前服务的当前负载值和未来负载值;
当前负载值或未来负载值大于预设阈值时,生成均衡当前服务的负载的添加控制指令;
当前负载值或未来负载值小于预设阈值时,生成均衡当前服务的负载的缩减控制指令。
在一些实施例中,部署模块根据控制指令自动调整当前服务的容量,包括:
当控制指令为添加控制指令时,增加Pod集群中Pod的数量,以延伸当前服务的容量;
当控制指令为缩减控制指令时,减少Pod集群中Pod的数量,以缩小当前服务的容量。
在一些实施例中,代理容器将服务请求信息转发至目标业务容器,包括:
代理容器解析服务请求信息,得到提供服务请求信息对应的当前服务的业务容器的端口信息;
根据端口信息,将服务请求信息转发至目标业务容器。
在一些实施例中,该方法还包括:查询模块根据服务链路信息提供请求链路查询,以展示服务请求信息对应的服务请求经过的服务节点和链路转发路径。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种容量自动调整方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一些实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
代理容器劫持K8s分配至Pod的服务请求信息发送至监控模块,并将服务请求信息转发至目标业务容器,目标业务容器为至少一个业务容器中提供服务请求信息对应的当前服务的业务容器;
业务容器接收代理容器发送的服务请求信息,并响应于服务请求信息对应的当前服务的请求;
监控模块接收至少一个Pod中的代理容器发送的服务请求信息,根据服务请求信息生成均衡当前服务的负载的控制指令,将控制指令发送至部署模块;
部署模块接收监控模块发送的控制指令,并根据控制指令自动调整当前服务的容量。
在一些实施例中,处理器执行计算机程序时还实现以下步骤:监控模块根据服务请求信息生成均衡当前服务的负载的控制指令,包括:监控模块分析服务请求信息,得到至少一个Pod的服务链路信息;根据服务链路信息生成均衡当前服务的负载的控制指令。
在一些实施例中,处理器执行计算机程序时还实现以下步骤:监控模块根据服务链路信息生成均衡当前服务的负载的控制指令,包括:监控模块根据服务链路信息实时监测至少一个Pod中的目标业务容器响应于当前服务提供的流量,通过预设算法计算当前服务的当前负载值和未来负载值;当前负载值或未来负载值大于预设阈值时,生成均衡当前服务的负载的添加控制指令;当前负载值或未来负载值小于预设阈值时,生成均衡当前服务的负载的缩减控制指令。
在一些实施例中,处理器执行计算机程序时还实现以下步骤:部署模块根据控制指令自动调整当前服务的容量,包括:当控制指令为添加控制指令时,增加Pod集群中Pod的数量,以延伸当前服务的容量;当控制指令为缩减控制指令时,减少Pod集群中Pod的数量,以缩小当前服务的容量。
在一些实施例中,处理器执行计算机程序时还实现以下步骤:代理容器将服务请求信息转发至目标业务容器,包括:代理容器解析服务请求信息,得到提供服务请求信息对应的当前服务的业务容器的端口信息;根据端口信息,将服务请求信息转发至目标业务容器。
在一些实施例中,处理器执行计算机程序时还实现以下步骤:查询模块根据服务链路信息提供请求链路查询,以展示服务请求信息对应的服务请求经过的服务节点和链路转发路径。
在一些实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
代理容器劫持K8s分配至Pod的服务请求信息发送至监控模块,并将服务请求信息转发至目标业务容器,目标业务容器为至少一个业务容器中提供服务请求信息对应的当前服务的业务容器;
业务容器接收代理容器发送的服务请求信息,并响应于服务请求信息对应的当前服务的请求;
监控模块接收至少一个Pod中的代理容器发送的服务请求信息,根据服务请求信息生成均衡当前服务的负载的控制指令,将控制指令发送至部署模块;
部署模块接收监控模块发送的控制指令,并根据控制指令自动调整当前服务的容量。
在一些实施例中,计算机程序被处理器执行时还实现以下步骤:监控模块根据服务请求信息生成均衡当前服务的负载的控制指令,包括:监控模块分析服务请求信息,得到至少一个Pod的服务链路信息;根据服务链路信息生成均衡当前服务的负载的控制指令。
在一些实施例中,计算机程序被处理器执行时还实现以下步骤:监控模块根据服务链路信息生成均衡当前服务的负载的控制指令,包括:监控模块根据服务链路信息实时监测至少一个Pod中的目标业务容器响应于当前服务提供的流量,通过预设算法计算当前服务的当前负载值和未来负载值;当前负载值或未来负载值大于预设阈值时,生成均衡当前服务的负载的添加控制指令;当前负载值或未来负载值小于预设阈值时,生成均衡当前服务的负载的缩减控制指令。
在一些实施例中,计算机程序被处理器执行时还实现以下步骤:部署模块根据控制指令自动调整当前服务的容量,包括:当控制指令为添加控制指令时,增加Pod集群中Pod的数量,以延伸当前服务的容量;当控制指令为缩减控制指令时,减少Pod集群中Pod的数量,以缩小当前服务的容量。
在一些实施例中,计算机程序被处理器执行时还实现以下步骤:代理容器将服务请求信息转发至目标业务容器,包括:代理容器解析服务请求信息,得到提供服务请求信息对应的当前服务的业务容器的端口信息;根据端口信息,将服务请求信息转发至目标业务容器。
在一些实施例中,计算机程序被处理器执行时还实现以下步骤:查询模块根据服务链路信息提供请求链路查询,以展示服务请求信息对应的服务请求经过的服务节点和链路转发路径。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种容量自动调整系统,所述系统基于容器编排调度引擎K8s搭建,其特征在于,包括:至少一个Pod集群、监控模块、部署模块,其中,所述Pod集群包括至少一个Pod,每个所述Pod内封装有代理容器和至少一个业务容器;
所述代理容器,用于劫持K8s分配至Pod的服务请求信息发送至所述监控模块,并将所述服务请求信息转发至目标业务容器,具体用于解析所述服务请求信息,得到提供所述服务请求信息对应的当前服务的业务容器的端口信息,根据所述端口信息,将所述服务请求信息转发至目标业务容器,所述目标业务容器为所述至少一个业务容器中提供所述服务请求信息对应的当前服务的业务容器;
所述业务容器,用于接收所述代理容器发送的服务请求信息,并响应于所述服务请求信息对应的当前服务的请求;
所述监控模块,用于接收所述至少一个Pod中的代理容器发送的所述服务请求信息,根据所述服务请求信息生成均衡所述当前服务的负载的控制指令,将所述控制指令发送至所述部署模块,具体用于分析所述服务请求信息,得到所述至少一个Pod的服务链路信息,并根据所述服务链路信息生成均衡所述当前服务的负载的控制指令,其中,所述服务链路信息为所述至少一个Pod接收的服务请求形成的链路信息,由所述监控模块对所有的服务请求信息进行汇总、分析得到服务请求的整个链路信息;
所述部署模块,用于接收所述监控模块发送的控制指令,并根据所述控制指令自动调整所述当前服务的容量。
2.根据权利要求1所述的系统,其特征在于,所述监控模块,用于根据所述服务链路信息生成均衡所述当前服务的负载的控制指令,包括:
所述监控模块,具体用于根据所述链路信息实时监测所述至少一个Pod中的目标业务容器响应于所述当前服务提供的流量,通过预设算法计算所述当前服务的当前负载值和未来负载值;
当所述当前负载值或未来负载值大于预设阈值时,生成均衡当前服务的负载的添加控制指令;
当所述当前负载值或未来负载值小于预设阈值时,生成均衡当前服务的负载的缩减控制指令。
3.根据权利要求2所述的系统,其特征在于,所述部署模块,用于根据所述控制指令自动调整所述当前服务的容量,包括:
所述部署模块,具体用于当所述控制指令为所述添加控制指令时,增加所述Pod集群中Pod的数量,以延伸所述当前服务的容量;
当所述控制指令为所述缩减控制指令时,减少所述Pod集群中Pod的数量,以缩小所述当前服务的容量。
4.根据权利要求1所述的系统,其特征在于,所述系统还包括:查询模块,用于根据所述服务链路信息提供请求链路查询,以展示服务请求信息对应的服务请求经过的服务节点和链路转发路径。
5.一种容量自动调整方法,其特征在于,所述方法应用于权利要求1至4任意一项所述的系统,包括:
所述代理容器劫持K8s分配至Pod的服务请求信息发送至所述监控模块,并将所述服务请求信息转发至目标业务容器,具体包括:解析所述服务请求信息,得到提供所述服务请求信息对应的当前服务的业务容器的端口信息,根据所述端口信息,将所述服务请求信息转发至目标业务容器,所述目标业务容器为所述至少一个业务容器中提供所述服务请求信息对应的当前服务的业务容器;
所述业务容器接收所述代理容器发送的服务请求信息,并响应于所述服务请求信息对应的当前服务的请求;
所述监控模块接收所述至少一个Pod中的代理容器发送的所述服务请求信息,根据所述服务请求信息生成均衡所述当前服务的负载的控制指令,将所述控制指令发送至所述部署模块,具体包括:分析所述服务请求信息,得到所述至少一个Pod的服务链路信息,并根据所述服务链路信息生成均衡所述当前服务的负载的控制指令,其中,所述服务链路信息为所述至少一个Pod接收的服务请求形成的链路信息,由所述监控模块对所有的服务请求信息进行汇总、分析得到服务请求的整个链路信息;
所述部署模块接收所述监控模块发送的控制指令,并根据所述控制指令自动调整所述当前服务的容量。
6.根据权利要求5所述的方法,其特征在于,所述监控模块根据所述服务请求信息生成均衡所述当前服务的负载的控制指令,包括:
所述监控模块分析所述服务请求信息,得到所述至少一个Pod的服务链路信息;
根据所述服务链路信息生成均衡所述当前服务的负载的控制指令。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求5至6中任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求5至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111341394.3A CN114138467B (zh) | 2021-11-12 | 2021-11-12 | 容量自动调整系统、方法、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111341394.3A CN114138467B (zh) | 2021-11-12 | 2021-11-12 | 容量自动调整系统、方法、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114138467A CN114138467A (zh) | 2022-03-04 |
CN114138467B true CN114138467B (zh) | 2024-04-26 |
Family
ID=80393082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111341394.3A Active CN114138467B (zh) | 2021-11-12 | 2021-11-12 | 容量自动调整系统、方法、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114138467B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115373859B (zh) * | 2022-10-26 | 2023-03-24 | 小米汽车科技有限公司 | 基于Kubernetes集群的模型服务容量调整方法及其装置 |
CN116232884A (zh) * | 2022-12-15 | 2023-06-06 | 中科驭数(北京)科技有限公司 | 代理实例管理方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981789A (zh) * | 2019-04-03 | 2019-07-05 | 山东浪潮云信息技术有限公司 | 一种基于代理模式的微服务引擎 |
CN110597623A (zh) * | 2019-08-13 | 2019-12-20 | 平安普惠企业管理有限公司 | 容器资源分配方法、装置、计算机设备和存储介质 |
CN112256425A (zh) * | 2020-10-19 | 2021-01-22 | 聚好看科技股份有限公司 | 负载均衡方法及系统、计算机集群、信息编辑方法及终端 |
CN112929230A (zh) * | 2021-01-22 | 2021-06-08 | 中信银行股份有限公司 | 测试处理方法、装置、电子设备及计算机可读存储介质 |
CN113407340A (zh) * | 2021-06-16 | 2021-09-17 | 北京金山云网络技术有限公司 | 业务控制系统、网关服务方法、业务请求转发方法及装置 |
-
2021
- 2021-11-12 CN CN202111341394.3A patent/CN114138467B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981789A (zh) * | 2019-04-03 | 2019-07-05 | 山东浪潮云信息技术有限公司 | 一种基于代理模式的微服务引擎 |
CN110597623A (zh) * | 2019-08-13 | 2019-12-20 | 平安普惠企业管理有限公司 | 容器资源分配方法、装置、计算机设备和存储介质 |
CN112256425A (zh) * | 2020-10-19 | 2021-01-22 | 聚好看科技股份有限公司 | 负载均衡方法及系统、计算机集群、信息编辑方法及终端 |
CN112929230A (zh) * | 2021-01-22 | 2021-06-08 | 中信银行股份有限公司 | 测试处理方法、装置、电子设备及计算机可读存储介质 |
CN113407340A (zh) * | 2021-06-16 | 2021-09-17 | 北京金山云网络技术有限公司 | 业务控制系统、网关服务方法、业务请求转发方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114138467A (zh) | 2022-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114138467B (zh) | 容量自动调整系统、方法、计算机设备及存储介质 | |
Qi et al. | A QoS-aware virtual machine scheduling method for energy conservation in cloud-based cyber-physical systems | |
JP6457447B2 (ja) | データセンターのネットワークトラフィックスケジューリング方法及び装置 | |
US10116507B2 (en) | Method of and system for managing computing resources | |
CN104092756A (zh) | 一种基于dht机制的云存储系统的资源动态分配方法 | |
CN113515545B (zh) | 数据查询方法、装置、系统、电子设备以及存储介质 | |
CN112698952A (zh) | 计算资源统一管理方法、装置、计算机设备及存储介质 | |
CN116346740A (zh) | 一种负载均衡方法及装置 | |
Sulimani et al. | Sustainability of load balancing techniques in fog computing environment | |
JP5957965B2 (ja) | 仮想化システム、負荷分散装置、負荷分散方法、及び負荷分散プログラム | |
Carrusca et al. | Microservices management on cloud/edge environments | |
CN115208900B (zh) | 基于区块链与博弈模型的多云架构云服务资源调度方法 | |
US20150052326A1 (en) | User-controlled paging | |
CN116402318A (zh) | 面向配电网的多级算力资源分配方法、装置及网络架构 | |
Tang et al. | Computation Offloading and Resource Allocation in Failure-Aware Vehicular Edge Computing | |
Zhang et al. | A novel hybrid model for docker container workload prediction | |
KR102436443B1 (ko) | 실시간 데이터 전송 시스템에서의 자원 공유 제어 방법 및 장치 | |
CN114780361A (zh) | 日志生成方法、装置、计算机系统及可读存储介质 | |
Fang et al. | A Scheduling Strategy for Reduced Power Consumption in Mobile Edge Computing | |
Nethaji et al. | Differential Grey Wolf Load‐Balanced Stochastic Bellman Deep Reinforced Resource Allocation in Fog Environment | |
KR101495767B1 (ko) | 클라우드 컴퓨팅에서 중계자를 통한 데이터 분산 최적화 장치 및 그 방법 | |
CN115065685B (zh) | 云计算资源调度方法、装置、设备及介质 | |
CN117492552B (zh) | 动态电压频率调节方法、控制器、装置、设备及存储介质 | |
CN114285753B (zh) | 一种cdn调度方法和系统 | |
CN110442447B (zh) | 基于消息队列的负载均衡方法、装置和计算机设备 |
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 |