CN113986475A - 容器集群的负载均衡方法、计算机设备及存储介质 - Google Patents
容器集群的负载均衡方法、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113986475A CN113986475A CN202111354180.XA CN202111354180A CN113986475A CN 113986475 A CN113986475 A CN 113986475A CN 202111354180 A CN202111354180 A CN 202111354180A CN 113986475 A CN113986475 A CN 113986475A
- Authority
- CN
- China
- Prior art keywords
- current
- container
- service
- node
- target
- 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.)
- Pending
Links
Images
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- 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/4557—Distribution of virtual machine instances; Migration and load balancing
-
- 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
Abstract
本发明公开一种容器集群的负载均衡方法、计算机设备及存储介质。该方法包括:当前路由节点接收当前访问请求,每一当前访问请求包括当前访问信息;当前路由节点根据当前访问信息和负载均衡策略,确定目标容器节点,将当前访问请求发送给目标容器节点,更新区域热服务信息;主容器节点监听区域热服务信息,根据每一热服务对应的当前负载信息,确定热服务对应的目标调度策略;主容器节点在热服务对应的目标调度策略为扩容策略时,根据当前访问量,在当前容器区域中新增热服务对应的扩容容器节点。该方法可保障当前路由节点与扩容容器节点之间的传输距离较短,有助于提高后续访问请求的传输效率和响应效率。
Description
技术领域
本发明涉及负载均衡技术领域,尤其涉及一种容器集群的负载均衡方法、计算机设备及存储介质。
背景技术
容器集群是指多个容器节点形成的集群,每一容器节点可为云主机。现有容器集群会依据特定的区域划分规则,将所有容器节点划分为N个容器区域,每一容器区域内设有一个路由节点和Mi个容器节点,路由节点是用于实现数据分配转发的节点,容器节点是用于实现对具体访问请求进行处理的节点。一般来说,路由节点可与容器集群中的所有容器节点相连,以实现数据分配转发。
现有容器集群的负载均衡处理过程中,通常由每个容器区域内的路由节点进行负载均衡处理,一般是基于轮询策略进行负载均衡处理,以使路由节点将接收到的访问请求发送给相应的目标容器节点进行处理。现有路由节点的负载均衡策略一般是将资源相对较空闲的节点确定为目标容器节点,没有考虑路由节点到容器节点之间的链路是否过长,会导致信息传输时间较长,影响处理效率。
发明内容
本发明实施例提供一种容器集群的负载均衡方法、计算机设备及存储介质,以解决现有容器集群中信息传输时间较长,影响处理效率的问题。
本发明实施例提供一种容器集群的负载均衡方法,包括:
当前路由节点接收当前访问请求,每一所述当前访问请求包括当前访问信息;
当前路由节点根据所述当前访问信息和负载均衡策略,确定目标容器节点,将所述当前访问请求发送给所述目标容器节点,更新区域热服务信息,所述区域热服务信息包括至少一个热服务对应的当前访问量和当前负载信息;
主容器节点监听所述区域热服务信息,根据每一所述热服务对应的当前负载信息,确定所述热服务对应的目标调度策略;
主容器节点在所述热服务对应的目标调度策略为扩容策略时,根据所述当前访问量,在当前容器区域中新增所述热服务对应的扩容容器节点。
优选地,所述当前访问信息包括当前访问时间和当前服务类型;
所述当前路由节点根据所述当前访问信息和负载均衡策略,确定目标容器节点,将所述当前访问请求发送给所述目标容器节点,更新区域热服务信息,包括:
当前路由节点基于所述当前服务类型查询服务容器信息表,确定所述当前服务类型对应的目标容器节点;
当前路由节点将所述当前访问请求发送给所述目标容器节点,统计当前访问时间对应的目标统计时段内,每一所述当前服务类型对应的当前访问量;
当前路由节点根据每一当前服务类型对应的当前访问量和每一目标容器节点对应的当前负载信息,更新区域热服务信息。
优选地,所述当前路由节点基于所述当前服务类型查询服务容器信息表,确定所述当前服务类型对应的目标容器节点,包括:
当前路由节点基于所述当前服务类型查询服务容器信息表,确定所述当前服务类型对应的至少一个待选容器节点;
当前路由节点确定每一所述待选容器节点对应的待选空闲资源和待选容器区域;
当前路由节点在存在所述待选容器区域为当前容器区域的所述待选容器节点时,从所述当前容器区域中,选取所述待选空闲资源最大的待选容器节点,确定为目标容器节点;
当前路由节点在不存在所述待选容器区域为当前容器区域的所述待选容器节点时,确定每一所述待选容器区域和所述当前容器区域之间的区域距离,选取区域距离最短且所述待选空闲资源最大的待选容器节点,确定为目标容器节点。
优选地,所述当前路由节点根据每一当前服务类型对应的当前访问量和每一目标容器节点对应的当前负载信息,更新区域热服务信息,包括:
当前路由节点根据每一当前服务类型对应的当前访问量,确定至少一个热服务;
当前路由节点获取响应至少一个所述热服务的目标容器节点对应的当前负载信息;
当前路由节点根据至少一个所述热服务对应的当前访问量和当前负载信息,更新区域热服务信息。
优选地,在所述主容器节点监听所述区域热服务信息,根据每一所述热服务对应的当前负载信息,确定所述热服务对应的目标调度策略之后,所述容器集群的负载均衡方法还包括:
主容器节点在所述热服务对应的目标调度策略为监听调整策略时,调整监听更新时间,重复执行所述监听每一容器区域中的所述区域热服务信息,根据每一所述热服务对应的当前负载信息,确定所述热服务对应的目标调度策略。
优选地,所述主容器节点监听所述区域热服务信息,根据每一所述热服务对应的当前负载信息,确定所述热服务对应的目标调度策略,包括:
主容器节点监听每一容器区域中的所述区域热服务信息,将每一所述热服务对应的当前负载信息与扩容负载阈值进行比较;
主容器节点在每一所述热服务对应的当前负载信息大于扩容负载阈值时,将扩容策略确定为所述热服务对应的目标调度策略;
主容器节点在每一所述热服务对应的当前负载信息不大于扩容负载阈值时,将监听调整策略确定为所述热服务对应的目标调度策略。
优选地,所述主容器节点在所述热服务对应的目标调度策略为扩容策略时,根据所述当前访问量,在当前容器区域中新增所述热服务对应的扩容容器节点,包括:
主容器节点在所述热服务对应的目标调度策略为扩容策略时,根据所述当前访问量,确定所述热服务对应的需求容器数量;
主容器节点获取当前容器区域中所述热服务对应的当前容器数量;
主容器节点根据所述需求容器数量和所述当前容器数量,确定目标扩容数量;
主容器节点根据所述目标扩容数量,在当前容器区域中新增所述热服务对应的扩容容器节点。
优选地,所述容器集群的负载均衡方法还包括:
当前路由节点定时更新目标服务信息,所述目标服务信息包括至少一个目标服务对应的目标访问量和已有容器数量;
主容器节点监听所述目标服务信息,根据每一所述目标服务的目标访问量,确定目标容器数量;
主容器节点根据所述目标容器数量和所述已有容器数量,判断是否满足释放条件;
主容器节点在满足所述释放条件时,释放当前容器区域中的已有容器节点。
本发明实施例提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述容器集群的负载均衡方法,所述计算机设备为当前路由节点或者主容器节点。
本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述容器集群的负载均衡方法。
上述容器集群的负载均衡方法、计算机设备及存储介质,当前路由节点在将当前访问请求发送给目标容器节点之后,需更新区域热服务信息,以使主容器节点根据区域热服务信息,确定热服务对应的目标调度策略为扩容策略时,可进行动态扩容,在当前容器区域中新增所述热服务对应的扩容容器节点,以保障当前路由节点与扩容容器节点之间的传输距离较短,有助于提高后续访问请求的传输效率和响应效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中容器集群的负载均衡系统的一示意图;
图2是本发明一实施例中容器集群的负载均衡方法的一流程图;
图3是本发明一实施例中容器集群的负载均衡方法的另一流程图;
图4是本发明一实施例中容器集群的负载均衡方法的另一流程图;
图5是本发明一实施例中容器集群的负载均衡方法的另一流程图;
图6是本发明一实施例中容器集群的负载均衡方法的另一流程图;
图7是本发明一实施例中容器集群的负载均衡方法的另一流程图;
图8是本发明一实施例中容器集群的负载均衡方法的另一流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的容器集群的负载均衡方法,该容器集群的负载均衡方法可应用如图1所示的应用环境中。具体地,该容器集群的负载均衡方法应用在容器集群的负载均衡系统中,该容器集群的负载均衡系统包括图1所示的主容器节点和N个容器区域,每一容器区域内设有一个路由节点和Mi个容器节点,路由节点是用于实现数据分配转发的节点,容器节点是用于实现对具体访问请求进行处理的节点。
在一实施例中,如图2所示,提供一种容器集群的负载均衡方法,以该方法应用在图1中的容器集群的负载均衡系统为例进行说明,包括如下步骤:
S201:当前路由节点接收当前访问请求,每一当前访问请求包括当前访问信息;
S202:当前路由节点根据当前访问信息和负载均衡策略,确定目标容器节点,将当前访问请求发送给目标容器节点,更新区域热服务信息,区域热服务信息包括至少一个热服务对应的当前访问量和当前负载信息;
S203:主容器节点监听区域热服务信息,根据每一热服务对应的当前负载信息,确定热服务对应的目标调度策略;
S204:主容器节点在热服务对应的目标调度策略为扩容策略时,根据当前访问量,在当前容器区域中新增热服务对应的扩容容器节点。
其中,当前路由节点是指当前时刻接收到当前访问请求的路由节点。当前访问请求是指当前时刻触发的访问请求。当前访问信息是指当前访问请求中记录的信息,当前访问信息包括当前访问时间和当前服务类型。当前访问时间是触发当前访问请求的时间。当前服务类型是指当前访问请求需要访问的服务所属的类型。
作为一示例,步骤S201中,每一容器区域中的当前路由节点可以接收用户操作客户端发送的当前访问请求,每一当前访问请求包括需要访问哪个服务的当前访问信息,以便根据当前访问信息确定其对应的目标容器节点。
其中,负载均衡策略是指预先配置的用于实现负载均衡的调度策略,具体可以为就近调度策略。目标容器节点是用于对当前访问请求进行响应处理的容器节点,即用于执行当前访问请求中的当前服务类型对应的当前服务的容器节点。区域热服务信息是用于反映每个容器区域对应的热服务信息,具体包括当前负载信息和当前访问量。热服务是指热门访问的服务,即访问量较多的服务。当前访问量是指当前时刻每个热服务对应的目标容器节点所接收到的访问量。当前负载信息是指当前时刻每个热服务对应的目标容器节点中CPU和内容等负载的信息。
作为一示例,步骤S202中,当前路由节点在接收到每一当前访问请求之后,需解析识别当前访问请求,确定当前访问信息、再根据预先配置的负载均衡策略和当前访问信息,确定可响应处理该当前访问信息的目标容器节点。然后,将该当前访问请求发送给目标容器节点,以使目标容器节点对当前访问请求进行响应处理。最后,当前路由节点需更新当前容器区域对应的区域热服务信息。该区域热服务信息可有效反映当前容器区域中访问量较大的前几个热服务的相关信息,包括但不限于当前负载信息和当前访问量。
其中,目标调度策略是预先配置的用于根据区域热服务信息进行调度处理的策略。作为一示例,目标调度策略可以为扩容策略和监听调整策略中的任一种。扩容策略是预先配置的用于给某一热服务扩展容器节点的策略。监听调整策略是预先配置的用于调整某一热服务的监听更新时间的策略。
作为一示例,步骤S203中,主容器节点实时监听每一容器区域中的区域热服务信息,根据每一区域热服务信息中的当前负载信息,评估该当前负载信息是否满足相应的扩容条件;若区域热服务信息中的当前负载信息满足扩容条件,则将扩容策略确定为目标调度策略;若区域热服务信息中的当前负载信息不满足扩容条件,则将监听调整策略确定为目标调度策略。其中,扩容条件是预先配置用于评估是否需要进行扩容的条件。
其中,扩容容器节点是指根据扩容策略进行扩容处理,在当前容器区域中新增的用于处理热服务的容器节点。
作为一示例,步骤S204中,主容器节点在某一热服务对应的目标调度策略为扩容策略时,认定满足扩容条件,此时,可根据处理该热服务的目标容器节点的当前负载信息以及当前路由节点接收到该热服务的当前访问量,确定需要在当前容器区域中扩容容器节点的目标扩容数量,以在当前容器区域中新增用于处理该热服务的扩容容器节点,以使后续当前路由节点可将接收到的该热服务对应的当前访问请求,直接发送给当前容器区域的扩容容器节点进行处理。
如图1所示,在容器区域A中不存在用于实现热服务S1的容器节点,而容器区域B中存在用于实现热服务S1的1个容器节点Node_B1,在容器区域A的当前路由节点接收到热服务S1对应的当前访问请求时,会将容器区域B中的容器节点Node_B1确定为目标容器节点,将当前访问请求发送给容器区域B中的目标容器节点Node_B1;然后,容器区域A对应的当前路由节点更新区域热服务信息。主容器节点监控容器区域A对应的区域热服务信息,在区域热服务信息中的当前负载信息满足扩容条件时,将扩容策略确定为目标调度策略,此时,可对容器区域A进行扩容,在容器区域A中扩容增加用于执行热服务S1对应的扩容容器节点_Ax,以使容器区域A在下次接收到当前访问请求时,可基于就近原则,将当前访问请求发送给扩容容器节点_Ax进行处理。
本实施例所提供的容器集群的负载均衡方法中,当前路由节点在将当前访问请求发送给目标容器节点之后,需更新区域热服务信息,以使主容器节点根据区域热服务信息,确定热服务对应的目标调度策略为扩容策略时,可进行动态扩容,在当前容器区域中新增热服务对应的扩容容器节点,以保障当前路由节点与扩容容器节点之间的传输距离较短,有助于提高后续访问请求的传输效率和响应效率。
在一实施例中,在步骤S203之后,即在主容器节点监听区域热服务信息,根据每一热服务对应的当前负载信息,确定热服务对应的目标调度策略之后,容器集群的负载均衡方法还包括:
主容器节点在热服务对应的目标调度策略为监听调整策略时,调整监听更新时间,重复执行监听每一容器区域中的区域热服务信息,根据每一热服务对应的当前负载信息,确定热服务对应的目标调度策略。
作为一示例,主容器节点在热服务对应的目标调度策略为监听调整策略时,认定不满足扩容条件,此时,需将监听调整策略确定为该热服务对应的目标调度策略,可执行该监听调整策略,缩短监听更新时间,例如,将监听更新时间由T更新为1/2T,以缩短监听更新时间,使得主容器节点可更频繁执行重复执行监听每一容器区域中的区域热服务信息,根据每一热服务对应的当前负载信息,确定热服务对应的目标调度策略,以便在监听到某一热服务对应的目标调度策略为扩容策略时,可快速响应处理。
在一实施例中,当前访问信息包括当前访问时间和当前服务类型;
如图3所示,步骤S202中,当前路由节点根据当前访问信息和负载均衡策略,确定目标容器节点,将当前访问请求发送给目标容器节点,更新区域热服务信息,包括:
S301:当前路由节点基于当前服务类型查询服务容器信息表,确定当前服务类型对应的目标容器节点;
S302:当前路由节点将当前访问请求发送给目标容器节点,统计当前访问时间对应的目标统计时段内,每一当前服务类型对应的当前访问量;
S303:当前路由节点根据每一当前服务类型对应的当前访问量和每一目标容器节点对应的当前负载信息,更新区域热服务信息。
其中,当前访问时间是触发当前访问请求的时间。当前服务类型是指当前访问请求需要访问的服务所属的类型。
其中,服务容器信息表是用于记录不同服务类型与其容器节点之间对应关系的信息表。
作为一示例,步骤S301中,当前路由节点在解析当前访问请求,确定当前访问信息之后,可根据当前服务类型查询预先配置的服务容器信息表,根据查询结果,确定当前服务类型对应的目标容器节点,该目标容器节点为本次分配确定的可处理该当前服务类型对应的当前访问请求的一个容器节点。
其中,目标统计时段是预先设置的用于实现区域热服务信息统计的单位时间。当前访问量是指当前路由节点统计出的每一当前服务类型对应的访问量。
作为一示例,步骤S302中,当前路由节点在确定目标容器节点之后,可将当前访问请求发送给目标容器节点,以使目标容器节点对当前访问请求进行响应处理。接着,当前路由节点需统计当前访问时间对应的目标统计时段内,每一当前服务类型对应的当前访问量。例如,在当前访问时间为t1,目标统计时段为ΔT,则当前路由节点需统计[t1-ΔT,t1]这一时段内,每一当前服务类型对应的当前访问量,以便确定该目标统计时段内,所有当前服务类型的访问情况。
作为一示例,步骤S303中,当前路由节点可根据每一当前服务类型对应的当前访问量,确定哪些服务类型为热服务,确定热服务对应的当前访问量,再获取热服务对应的目标容器节点对应的当前负载信息,根据热服务对应的当前访问量及其目标容器节点对应的当前负载信息,更新当前容器区域对应的区域热服务信息。
可理解地,当前路由节点基于当前访问请求中的当前服务类型查询服务容器信息表,确定目标容器节点,再统计每一当前服务类型对应的当前访问量,确定当前容器区域中的至少一个热服务,根据当前访问量和当前负载信息,更新区域热服务信息,以使区域热服务信息可实时准确反映每个容器区域中的热服务及其相关信息,以便基于该区域热服务信息确定后续的目标调度策略,保障目标调度策略的实时有效性。
在一实施例中,如图4所示,步骤S301,即当前路由节点基于当前服务类型查询服务容器信息表,确定当前服务类型对应的目标容器节点,包括:
S401:当前路由节点基于当前服务类型查询服务容器信息表,确定当前服务类型对应的至少一个待选容器节点;
S402:当前路由节点确定每一待选容器节点对应的待选空闲资源和待选容器区域;
S403:当前路由节点在存在待选容器区域为当前容器区域的待选容器节点时,从当前容器区域中,选取待选空闲资源最大的待选容器节点,确定为目标容器节点;
S404:当前路由节点在不存在待选容器区域为当前容器区域的待选容器节点时,确定每一待选容器区域和当前容器区域之间的区域距离,选取区域距离最短且待选空闲资源最大的待选容器节点,确定为目标容器节点。
其中,待选容器节点是指可处理当前服务类型对应的当前服务的容器节点。
作为一示例,步骤S401中,当前路由节点在解析当前访问请求,确定当前访问信息之后,可根据当前服务类型查询预先配置的服务容器信息表,根据查询结果,确定当前服务类型对应的至少一个待选容器节点,以便根据至少一个待选容器节点,确定其对应的目标容器节点。
其中,待选空闲资源是指待选容器节点中的空闲资源。待选容器区域是指待选容器节点所在的容器区域。
作为一示例,步骤S402中,当前路由节点在确定至少一个待选容器节点之后,可监控获取每一待选容器节点对应的待选空闲资源及其所在的待选容器区域,以便根据待选空闲资源和待选容器区域,从至少一个待选容器节点中,选择确定响应处理该当前访问请求的目标容器节点。
其中,当前容器区域是指当前路由节点所在的容器区域。
作为一示例,步骤S403中,当前路由节点在存在待选容器区域为当前容器区域的待选容器节点时,即存在与当前路由节点在同一容器区域的至少一个待选容器节点,由于当前路由节点到同一容器区域中的待选容器节点的距离较短,因此,可从当前容器区域中,选取待选空闲资源最大的待选容器节点,确定为目标容器节点,并将当前访问请求发送给目标容器节点。可理解地,由于当前路由节点与目标容器节点在同一容器区域,可保障当前路由节点与目标容器节点之间的传输距离较短,有助于提高当前访问请求的传输效率,进而提高当前访问请求的响应效率。
作为一示例,步骤S404中,当前路由节点在不存在待选容器区域为当前容器区域的待选容器节点时,即不存在与当前路由节点在同一容器区域的待选容器节点,也即所有待选容器节点与当前路由节点均在不同容器区域,此时,当前路由节点需确定每一待选容器节点对应的待选容器区域与当前容器区域之间的区域距离;再选取区域距离最短且待选空闲资源最大的待选容器节点,确定为目标容器节点。可理解地,由于当前路由节点与所有待选容器节点均不在同一容器区域,此时,选取区域距离最短且待选空闲资源最大的待选容器节点,确定为目标容器节点,可保障当前路由节点与目标容器节点之间的传输距离较短,有助于提高当前访问请求的传输效率,进而提高当前访问请求的响应效率。
在一实施例中,如图5所示,步骤S303,即当前路由节点根据每一当前服务类型对应的当前访问量和每一目标容器节点对应的当前负载信息,更新区域热服务信息,包括:
S501:当前路由节点根据每一当前服务类型对应的当前访问量,确定至少一个热服务;
S502:当前路由节点获取响应至少一个热服务的目标容器节点对应的当前负载信息;
S503:当前路由节点根据至少一个热服务对应的当前访问量和当前负载信息,更新区域热服务信息。
作为一示例,步骤S501中,当前路由节点可统计当前访问时间对应的目标统计时段内,每一当前服务类型对应的当前访问量,可将当前访问量较多的前几个当前服务类型对应的当前服务,确定为热服务;或者,可将当前访问量大于访问量阈值的当前服务类型对应的当前服务,确定为热服务,以保证确定的热服务为最近一段时间内访问量较多的服务。
作为一示例,步骤S502中,当前路由节点可监控响应处理每一热服务的目标容器节点的当前负载信息。该当前负载信息包括但不限于目标容器节点对应的CPU和内存等信息,以便后续根据当前负载信息评估是否需要进行扩容处理。
作为一示例,步骤S503中,当前路由节点可根据至少一个热服务对应的当前访问量及处理该热服务的目标容器节点的当前负载信息,更新区域热服务信息,以便后续根据区域热服务信息进行扩容处理。
在一实施例中,如图6所示,步骤S203,即主容器节点监听区域热服务信息,根据每一热服务对应的当前负载信息,确定热服务对应的目标调度策略,包括:
S601:主容器节点监听每一容器区域中的区域热服务信息,将每一热服务对应的当前负载信息与扩容负载阈值进行比较;
S602:主容器节点在每一热服务对应的当前负载信息大于扩容负载阈值时,将扩容策略确定为热服务对应的目标调度策略;
S603:主容器节点在每一热服务对应的当前负载信息不大于扩容负载阈值时,将监听调整策略确定为热服务对应的目标调度策略。
其中,扩容负载阈值是预先配置的用于判断当前负载信息是否达到需要进行扩容标准的阈值。由于当前负载信息包括CPU和内存对应的实测信息,则其扩容负载阈值也包括CPU和内存对应的评估阈值。
作为一示例,步骤S601中,主容器节点可监听每一容器区域中的区域热服务信息,将热服务对应的当前负载信息与预先配置的扩容负载阈值进行比较,以评估当前负载信息是否达到扩容标准,从而确定后续的目标调度策略。
作为一示例,步骤S602中,主容器节点在每一热服务对应的当前负载信息大于扩容负载阈值时,认定该热服务对应的当前负载信息满足扩容标准,此时,需将扩容策略确定为热服务对应的目标调度策略,以便后续在当前容器区域中扩容,以增加用于处理该热服务的扩容容器节点,有助于提高后续访问请求的传输效率和响应效率。
作为一示例,步骤S603中,主容器节点在每一热服务对应的当前负载信息不大于扩容负载阈值时,认定该热服务对应的当前负载信息不满足扩容标准,此时,需将监听调整策略确定为热服务对应的目标调度策略,以便根据监听调整策略调整该热服务的监听更新时间,可更实时有效地监听该热服务的实时情况,以便后续该热服务对应的当前负载信息满足扩容条件时,可及时响应确定扩容策略为目标调度策略。
例如,主容器节点监控到容器区域A包括三个热服务S1/S2/S3以及每个热服务对应的CUP和内存等当前负载信息。若分析出热服务S1对应的CUP和内存等当前负载信息满足扩容条件,即与满足扩容条件对应的CPU阈值和内存阈值相匹配,则将扩容策略确定为目标调度策略,以便根据扩容策略扩充用于处理该热服务S1的容器节点;若分析出热服务S2对应的CUP和内存等当前负载信息不满足扩容条件,即与满足扩容条件对应的CPU阈值和内存阈值不匹配,则将监听调整策略确定为热服务对应的目标调度策略,以便根据监听调整策略调整该热服务的监听更新时间,可更实时有效地监听该热服务的实时情况,以便后续该热服务对应的当前负载信息满足扩容条件时,可及时响应确定扩容策略为目标调度策略。
在一实施例中,如图7所示,步骤S204,即主容器节点在热服务对应的目标调度策略为扩容策略时,根据当前访问量,在当前容器区域中新增热服务对应的扩容容器节点,包括:
S701:主容器节点在热服务对应的目标调度策略为扩容策略时,根据当前访问量,确定热服务对应的需求容器数量;
S702:主容器节点获取当前容器区域中热服务对应的当前容器数量;
S703:主容器节点根据需求容器数量和当前容器数量,确定目标扩容数量;
S704:主容器节点根据目标扩容数量,在当前容器区域中新增热服务对应的扩容容器节点。
作为一示例,步骤S701中,主容器节点在热服务对应的目标调度策略为扩容策略时,需根据当前路由节点接收到该热服务对应的当前访问量和每一目标容器节点对应的第一承接量,确定该热服务对应的需求容器数量。本示例中,需求容器数量为该热服务对应的当前访问量与每一目标容器节点对应的第一承接量的商值。第一承接量是指每个目标容器节点可承接热服务对应的访问请求的数量。
作为一示例,步骤S702中,主容器节点统计当前路由节点所在的当前容器区域中,响应处理该热服务对应的目标容器节点的数量,确定为当前容器区域中热服务对应的当前容器数量。该当前容器数量可反映当前容器区域内有多少个容器节点用于处理该热服务。
作为一示例,步骤S703中,主容器节点在确定需求容器数量和当前容器数量之后,可根据需求容器数量和当前容器数量,确定目标扩容数量。该目标扩容数量可理解为需要新增扩容的容器节点的数量。本示例中,可直接将需求容器数量和当前容器数量的差值,确定为目标扩容数量,也可以先计算需求容器数量和当前容器数量的差值,再将该差值与预设的冗余数量之和,确定为目标扩容数量。此处的冗余数量是指预先配置的用于配置进行冗余处理的容器节点的数量。
作为一示例,步骤S704中,主容器节点可根据目标扩容数量,在当前容器区域中新增热服务对应的扩容容器节点,以使当前路由节点在接收到新的热服务对应的当前访问请求之后,可将当前访问请求发送给当前容器区域中的扩容容器节点,可使新的当前访问请求的传输距离较短,有助于提高其传输效率和响应效率。
在一实施例中,如图8所示,容器集群的负载均衡方法还包括:
S801:当前路由节点定时更新目标服务信息,目标服务信息包括至少一个目标服务对应的目标访问量和已有容器数量;
S802:主容器节点监听目标服务信息,根据每一目标服务的目标访问量,确定目标容器数量;
S803:主容器节点根据目标容器数量和已有容器数量,判断是否满足释放条件;
S804:主容器节点在满足释放条件时,释放当前容器区域中的已有容器节点。
其中,目标服务是指当前容器区域内的容器节点可处理的服务。目标服务信息是与目标服务相关的信息。目标访问量是指在当前时刻以内的特定统计时段内访问该目标服务的访问量。已有容器数量是指当前容器区域内用于处理某一目标服务的容器节点的数量。
作为一示例,步骤S801中,当前路由节点会定时更新其目标服务信息,以确定当前容器区域内,每一目标服务对应的目标访问量以及用于处理该目标服务的已有容器节点对应的已有容器数量。
其中,目标容器数量是指根据每一目标服务的目标访问量,确定处理该目标服务所需的容器节点的数量。
作为一示例,步骤S802中,主容器节点可监听当前路由节点的目标服务信息,可根据目标服务信息中的每一目标服务的目标访问量,确定其目标容器数量。本示例中,目标容器数量为某一目标服务对应的目标访问量和每一已有容器节点对应的第二承接量的商值。第二承接量是指每个已有容器节点可承接目标服务对应的访问请求的数量。
其中,释放条件是预先设置的用于评估是否需要释放某一目标服务对应的已有容器节点的条件。
作为一示例,步骤S803中,主容器节点可根据目标容器数量和已有容器数量,判断是否满足预先配置的释放条件。本示例中,主容器节点可先计算已有容器数量与目标容器数量之间的差值,确定为容器数量差值;将容器数量差值与预先设置的数量差阈值进行比较;若容器数量差值大于数量差阈值,则认定已有容器数量达到远大于其所需的目标容器数量的释放条件,认定其满足释放条件;若容器数量差值不大于数量差阈值,则认定已有容器数量没有达到远大于其所需的目标容器数量的释放条件,认定其不满足释放条件。
作为一示例,步骤S804中,主容器节点在主容器节点在满足释放条件时,可确定认定已有容器数量达到远大于其所需的目标容器数量的释放条件,此时,释放当前容器区域中的已有容器节点,具体可释放与容器数量差值相匹配的已有容器节点,以使当前容器区域中的目标服务对应的已有容器节点可满足其需求,而不会导致已有容器节点资源闲置,有助于提高已有容器节点的资源利用率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中容器集群的负载均衡方法,例如图2所示S201-S204,或者图3至图8中所示,为避免重复,这里不再赘述,计算机设备为当前路由节点或者主容器节点。
在一实施例中,提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中容器集群的负载均衡方法,例如图2所示S201-S204,或者图3至图8中所示,为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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 (10)
1.一种容器集群的负载均衡方法,其特征在于,包括:
当前路由节点接收当前访问请求,每一所述当前访问请求包括当前访问信息;
当前路由节点根据所述当前访问信息和负载均衡策略,确定目标容器节点,将所述当前访问请求发送给所述目标容器节点,更新区域热服务信息,所述区域热服务信息包括至少一个热服务对应的当前访问量和当前负载信息;
主容器节点监听所述区域热服务信息,根据每一所述热服务对应的当前负载信息,确定所述热服务对应的目标调度策略;
主容器节点在所述热服务对应的目标调度策略为扩容策略时,根据所述当前访问量,在当前容器区域中新增所述热服务对应的扩容容器节点。
2.如权利要求1所述的容器集群的负载均衡方法,其特征在于,所述当前访问信息包括当前访问时间和当前服务类型;
所述当前路由节点根据所述当前访问信息和负载均衡策略,确定目标容器节点,将所述当前访问请求发送给所述目标容器节点,更新区域热服务信息,包括:
当前路由节点基于所述当前服务类型查询服务容器信息表,确定所述当前服务类型对应的目标容器节点;
当前路由节点将所述当前访问请求发送给所述目标容器节点,统计当前访问时间对应的目标统计时段内,每一所述当前服务类型对应的当前访问量;
当前路由节点根据每一当前服务类型对应的当前访问量和每一目标容器节点对应的当前负载信息,更新区域热服务信息。
3.如权利要求2所述的容器集群的负载均衡方法,其特征在于,所述当前路由节点基于所述当前服务类型查询服务容器信息表,确定所述当前服务类型对应的目标容器节点,包括:
当前路由节点基于所述当前服务类型查询服务容器信息表,确定所述当前服务类型对应的至少一个待选容器节点;
当前路由节点确定每一所述待选容器节点对应的待选空闲资源和待选容器区域;
当前路由节点在存在所述待选容器区域为当前容器区域的所述待选容器节点时,从所述当前容器区域中,选取所述待选空闲资源最大的待选容器节点,确定为目标容器节点;
当前路由节点在不存在所述待选容器区域为当前容器区域的所述待选容器节点时,确定每一所述待选容器区域和所述当前容器区域之间的区域距离,选取区域距离最短且所述待选空闲资源最大的待选容器节点,确定为目标容器节点。
4.如权利要求2所述的容器集群的负载均衡方法,其特征在于,所述当前路由节点根据每一当前服务类型对应的当前访问量和每一目标容器节点对应的当前负载信息,更新区域热服务信息,包括:
当前路由节点根据每一当前服务类型对应的当前访问量,确定至少一个热服务;
当前路由节点获取响应至少一个所述热服务的目标容器节点对应的当前负载信息;
当前路由节点根据至少一个所述热服务对应的当前访问量和当前负载信息,更新区域热服务信息。
5.如权利要求1所述的容器集群的负载均衡方法,其特征在于,在所述主容器节点监听所述区域热服务信息,根据每一所述热服务对应的当前负载信息,确定所述热服务对应的目标调度策略之后,所述容器集群的负载均衡方法还包括:
主容器节点在所述热服务对应的目标调度策略为监听调整策略时,调整监听更新时间,重复执行所述监听每一容器区域中的所述区域热服务信息,根据每一所述热服务对应的当前负载信息,确定所述热服务对应的目标调度策略。
6.如权利要求5所述的容器集群的负载均衡方法,其特征在于,所述主容器节点监听所述区域热服务信息,根据每一所述热服务对应的当前负载信息,确定所述热服务对应的目标调度策略,包括:
主容器节点监听每一容器区域中的所述区域热服务信息,将每一所述热服务对应的当前负载信息与扩容负载阈值进行比较;
主容器节点在每一所述热服务对应的当前负载信息大于扩容负载阈值时,将扩容策略确定为所述热服务对应的目标调度策略;
主容器节点在每一所述热服务对应的当前负载信息不大于扩容负载阈值时,将监听调整策略确定为所述热服务对应的目标调度策略。
7.如权利要求1所述的容器集群的负载均衡方法,其特征在于,所述主容器节点在所述热服务对应的目标调度策略为扩容策略时,根据所述当前访问量,在当前容器区域中新增所述热服务对应的扩容容器节点,包括:
主容器节点在所述热服务对应的目标调度策略为扩容策略时,根据所述当前访问量,确定所述热服务对应的需求容器数量;
主容器节点获取当前容器区域中所述热服务对应的当前容器数量;
主容器节点根据所述需求容器数量和所述当前容器数量,确定目标扩容数量;
主容器节点根据所述目标扩容数量,在当前容器区域中新增所述热服务对应的扩容容器节点。
8.如权利要求1所述的容器集群的负载均衡方法,其特征在于,所述容器集群的负载均衡方法还包括:
当前路由节点定时更新目标服务信息,所述目标服务信息包括至少一个目标服务对应的目标访问量和已有容器数量;
主容器节点监听所述目标服务信息,根据每一所述目标服务的目标访问量,确定目标容器数量;
主容器节点根据所述目标容器数量和所述已有容器数量,判断是否满足释放条件;
主容器节点在满足所述释放条件时,释放当前容器区域中的已有容器节点。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至8任一项所述容器集群的负载均衡方法,所述计算机设备为当前路由节点或者主容器节点。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述容器集群的负载均衡方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111354180.XA CN113986475A (zh) | 2021-11-16 | 2021-11-16 | 容器集群的负载均衡方法、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111354180.XA CN113986475A (zh) | 2021-11-16 | 2021-11-16 | 容器集群的负载均衡方法、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113986475A true CN113986475A (zh) | 2022-01-28 |
Family
ID=79748754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111354180.XA Pending CN113986475A (zh) | 2021-11-16 | 2021-11-16 | 容器集群的负载均衡方法、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113986475A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115129484A (zh) * | 2022-09-02 | 2022-09-30 | 浙江大华技术股份有限公司 | 集群的扩缩容方法、装置、存储介质及电子装置 |
-
2021
- 2021-11-16 CN CN202111354180.XA patent/CN113986475A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115129484A (zh) * | 2022-09-02 | 2022-09-30 | 浙江大华技术股份有限公司 | 集群的扩缩容方法、装置、存储介质及电子装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109660607B (zh) | 一种业务请求分发方法、接收方法、装置及服务器集群 | |
US11320991B2 (en) | Identifying sub-health object storage devices in a data storage system | |
CN110166282B (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
CN109327550B (zh) | 一种访问请求的分配方法、装置、存储介质和计算机设备 | |
CN106230997B (zh) | 一种资源调度方法和装置 | |
EP3675420B1 (en) | Distributed storage system upgrade management method and device, and distributed storage system | |
CN103516744A (zh) | 一种数据处理的方法和应用服务器及集群 | |
EP4002115A1 (en) | Resource allocation method and resource offloading method | |
CN112689007B (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
WO2023104192A1 (zh) | 一种集群系统的管理方法及装置 | |
US20200084121A1 (en) | Node of a Network and a Method of Operating the Same for Resource Distribution | |
CN104639645A (zh) | 网络负载均衡方法、装置及集群服务系统 | |
US20220329651A1 (en) | Apparatus for container orchestration in geographically distributed multi-cloud environment and method using the same | |
WO2021072847A1 (zh) | 计算机网络状况监控方法、装置、计算机设备及存储介质 | |
Fadahunsi et al. | Locality sensitive request distribution for fog and cloud servers | |
CN113986475A (zh) | 容器集群的负载均衡方法、计算机设备及存储介质 | |
CN111159233B (zh) | 分布式缓存方法、系统、计算机设备以及存储介质 | |
Chen et al. | Latency minimization for mobile edge computing networks | |
CN109547253B (zh) | 文件下载方法、装置、计算机设备和存储介质 | |
CN109525675B (zh) | 北向服务器文件下载方法、装置、计算机设备和存储介质 | |
CN113438274A (zh) | 数据传输方法、装置、计算机设备及可读存储介质 | |
CN110825732A (zh) | 数据查询方法、装置、计算机设备和可读存储介质 | |
CN111309476A (zh) | 推送系统自动调整资源的方法、存储介质 | |
US9769018B2 (en) | Reporting technique for a telecommunications network | |
WO2022142515A1 (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 |