CN113467892A - 分布式集群资源配置方法及其相应的装置、设备、介质 - Google Patents
分布式集群资源配置方法及其相应的装置、设备、介质 Download PDFInfo
- Publication number
- CN113467892A CN113467892A CN202110794106.3A CN202110794106A CN113467892A CN 113467892 A CN113467892 A CN 113467892A CN 202110794106 A CN202110794106 A CN 202110794106A CN 113467892 A CN113467892 A CN 113467892A
- Authority
- CN
- China
- Prior art keywords
- container
- configuration
- pressure measurement
- cost
- target pressure
- 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
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000009530 blood pressure measurement Methods 0.000 claims abstract description 132
- 238000012360 testing method Methods 0.000 claims abstract description 77
- 238000010367 cloning Methods 0.000 claims abstract description 13
- 230000004044 response Effects 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 12
- 230000006870 function Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 9
- 238000011156 evaluation Methods 0.000 description 9
- 238000007726 management method Methods 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000009662 stress testing Methods 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004132 cross linking Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
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/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/45591—Monitoring or debugging support
-
- 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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及电商信息技术领域,公开一种分布式集群资源配置方法及其相应的装置、设备、介质,该方法包括:克隆部署于分布式集群的微服务架构中的在运行的容器的镜像;检测对所述镜像实施压力测试所生成的压测指标,当至少一个目标压测指标溢出相应的预设范围后触发容器配置事件;响应所述容器配置事件,根据所述容器运行所需的各个硬件资源的单位定价,计算确定多个配置方案中价格成本最低者;根据价格成本最低的配置方案配置所述微服务架构的容器模板,以使该微服务架构根据容器模板所派生的容器获得相应配额的各个硬件资源。本申请能够确保微服务架构对集群硬件资源的利用率最大化,同时确保成本最低化。
Description
技术领域
本申请实施例涉及电商信息技术领域,尤其涉及一种分布式集群资源配置方法及其相应的装置、设备、介质。
背景技术
为了实现对分布式集群中的服务器资源的有效调用,一种较为高效的方式是在分布式集群中部署微服务架构,通过微服务架构对集群内的服务器硬件资源进行容器化,使互联网服务可以在各个相应的容器实例中运行,在运行过程中不必考虑硬件资源的直接管理,从而使微服务架构只需对各个容器进行逻辑管理,即可实现对分布式集群的硬件资源的高效调用。
互联网业务广泛使用微服务架构来实现其对分布式集群的利用,典型的互联网业务如搜索引擎、电商***、网络直播***等等,其中,电商***对微服务架构的资源配置能力的要求更高,原因在于电商***要求其在线服务能够瞬时响应、高效处理并发数据以及弹性兼容数据流量的急剧变化等,因此,电商领域对微服务架构实现资源配置的效率的要求更高。
具体而言,在电商领域,搜索服务应用于各种场景,涉及数以千计的搜索集群,随着业务的不断变更,集群的容量是动态变化的,因此,如何自动化评估各集群的最大容量,优化微服务架构中的容器的配置,合理指导业务及时扩缩容,避免硬件资源浪费是亟待解决的问题。
现有技术中对集群容量进行评估的方法,均出于追求高资源使用率而制定资源调度策略,忽略了成本最优的因素。譬如一个3个副本4个分片的搜索引擎一共16个容器实例,每个容器的规格是2核32G,这种部署结构即使CPU 使用率达到70%,也依然存在一半内存资源浪费。由此可知,现有技术中微服务架构所采用的关于分布式集群的资源配置技术容易造成资源浪费且导致总体成本较高,尚有待改进。
发明内容
本申请的目的针对现有技术中存在的至少部分不足而提供一种分布式集群资源配置方法及其相应的装置、计算机设备及存储介质。
为解决上述技术问题,本申请采用的一个技术方案是:
本申请的分布式集群资源配置方法,其包括如下步骤:
克隆部署于分布式集群的微服务架构中的在运行的容器的镜像;
检测对所述镜像实施压力测试所生成的压测指标,当至少一个目标压测指标溢出相应的预设范围后触发容器配置事件;
响应所述容器配置事件,根据所述容器运行所需的各个硬件资源的单位定价,计算确定多个配置方案中价格成本最低者,所述配置方案包含为创建具有更优的所述目标压测指标的容器而分配的各个硬件资源的配额;
根据价格成本最低的配置方案配置所述微服务架构的容器模板,以使该微服务架构根据容器模板所派生的容器获得相应配额的各个硬件资源。
具体化的一种实施例中,检测对所述镜像实施压力测试所生成的压测指标,当至少一个目标压测指标溢出相应的预设范围后触发容器配置事件,包括如下步骤:
调用测试接口对所述镜像实施针对所述目标压测指标的最大压力测试;
获取实施最大压力测试后生成的所有压测指标,从中确定所述的目标压测指标;
判断所述目标压测指标是否低于其相应的预设阈值,当判断为是时,视其为溢出由所述预设阈值所界定的预设范围,从而触发容器配置事件。
较佳的一种实施例中,所述目标压测指标为吞吐量、每秒查询率、并发用户数中的任意一项。
具体化的一种实施例中,根据所述容器运行所需的各个硬件资源的单位定价,计算确定多个配置方案中价格成本最低者,包括如下步骤:
获取各个配置方案相对应的各个硬件资源的配额;
适应每一配置方案,计算出其中每一硬件资源的单件成本,将同一配置方案所需的所有硬件资源的单件成本进行线性融合为当前配置方案的价格成本;
从所有配置方案中查找确定出所述价格成本最低的配置方案。
优选的一种实施例中,适应每一配置方案,计算出其中每一硬件资源的单件成本,将同一配置方案所需的所有硬件资源的单件成本进行线性融合为当前配置方案的价格成本,其过程为:
调用预设的计价公式为每一配置方案计算价格成本,该计价公式中,以每个硬件资源的单位定价与其配额之间的乘积确定该硬件资源的单件成本,将各个硬件资源的单件成本分别匹配不同的权重参数后进行求和运算,以求得每一配置方案的所述价格成本。
较佳的一种实施例中,所述容器运行所需的各个硬件资源包括计算机设备的CPU、内存、硬盘,其各自所述的权重参数之间的关系,按照所表征权重大小自大至小排列为:CPU、内存、硬盘。
进一步扩展的一种实施例中,获取各个配置方案相对应的各个硬件资源的配额的步骤之前,包括如下步骤:
接收用于构造一个新的配置方案的各个硬件资源的配额的输入信息;
根据所述配额向所述微服务架构申请一个用于临时测试的容器;
针对所述目标压测指标对该容器实施最大压力测试,获得相应产生的压测指标;
验证所产生的压测指标中,所述目标压测指标是否优于对所述镜像实施压力测试所获得的目标压测指标,当判断为是时,将该输入信息转换为相应的配置方案。
为解决上述技术问题,本申请采用的另一技术方案是:
本申请的分布式集群资源配置装置,其包括镜像克隆模块、事件触发模块、事件响应模块、容器配置模块,其中,所述镜像克隆模块,用于克隆部署于分布式集群的微服务架构中的在运行的容器的镜像;所述事件触发模块,用于检测对所述镜像实施压力测试所生成的压测指标,当至少一个目标压测指标溢出相应的预设范围后触发容器配置事件;所述事件响应模块,用于响应所述容器配置事件,根据所述容器运行所需的各个硬件资源的单位定价,计算确定多个配置方案中价格成本最低者,所述配置方案包含为创建具有更优的所述目标压测指标的容器而分配的各个硬件资源的配额;所述容器配置模块,根据价格成本最低的配置方案配置所述微服务架构的容器模板,以使该微服务架构根据容器模板所派生的容器获得相应配额的各个硬件资源。
具体化的一种实施例中,所述事件触发模块包括:压测实施子模块,用于调用测试接口对所述镜像实施针对所述目标压测指标的最大压力测试;指标获取子模块,用于获取实施最大压力测试后生成的所有压测指标,从中确定所述的目标压测指标;溢出触发子模块,用于判断所述目标压测指标是否低于其相应的预设阈值,当判断为是时,视其为溢出由所述预设阈值所界定的预设范围,从而触发容器配置事件。
较佳的一种实施例中,所述目标压测指标为吞吐量、每秒查询率、并发用户数中的任意一项。
具体化的一种实施例中,所述事件响应模块包括:配额获取子模块,用于获取各个配置方案相对应的各个硬件资源的配额;成本计算子模块,用于适应每一配置方案,计算出其中每一硬件资源的单件成本,将同一配置方案所需的所有硬件资源的单件成本进行线性融合为当前配置方案的价格成本;成本优选子模块,用于从所有配置方案中查找确定出所述价格成本最低的配置方案。
优选的一种实施例中,所述成本计算子模块被调用运行时实现如下功能:调用预设的计价公式为每一配置方案计算价格成本,该计价公式中,以每个硬件资源的单位定价与其配额之间的乘积确定该硬件资源的单件成本,将各个硬件资源的单件成本分别匹配不同的权重参数后进行求和运算,以求得每一配置方案的所述价格成本。
较佳的一种实施例中,所述容器运行所需的各个硬件资源包括计算机设备的CPU、内存、硬盘,其各自所述的权重参数之间的关系,按照所表征权重大小自大至小排列为:CPU、内存、硬盘。
进一步扩展的一种实施例中,所述事件响应模块包括如下前置运行的子模块:配额输入子模块,用于接收用于构造一个新的配置方案的各个硬件资源的配额的输入信息;容器申请子模块,用于根据所述配额向所述微服务架构申请一个用于临时测试的容器;临时压测子模块,用于针对所述目标压测指标对该容器实施最大压力测试,获得相应产生的压测指标;配额验证子模块,用于验证所产生的压测指标中,所述目标压测指标是否优于对所述镜像实施压力测试所获得的目标压测指标,当判断为是时,将该输入信息转换为相应的配置方案。
为解决上述技术问题,本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行所述分布式集群资源配置方法的步骤。
为解决上述技术问题本申请实施例还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行所述分布式集群资源配置方法的步骤。
与现有技术相比,本申请具有如下优点:
本申请利用从运行于分布式集群的容器克隆的镜像进行压力测试,根据压力测试指标进行容器模板的配置方案的评估分析,在评估分析过程中贯彻成本最优原则,根据分布式集群中的硬件资源的预设单位定价与配额之间的关系确定价格成本,选取价格成本最优的配置方案,由此而给出新的更为合理的容器配置方案,新的配置方案能够在确保硬件资源的高使用率的情况下实现整体成本最低化,在确保不至于造成部分硬件资源浪费的同时,还能节约经济成本,充分保证微服务架构对分布式集群内的硬件资源的科学调度,特别适用于电商领域提供商品搜索服务所需的容器分配场景中。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请的分布式集群资源配置方法的基本流程示意图;
图2为本申请的分布式集群资源配置方法实施压测的流程示意图;
图3为本申请的分布式集群资源配置方法评估配置方案的流程示意图;
图4为本申请的分布式集群资源配置方法校验配置方案的流程示意图;
图5为本申请的分布式集群资源配置装置的基本结构示意图;
图6为本申请一个实施例的计算机设备的基本结构框图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“客户端”、“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他诸如个人计算机、平板电脑之类的通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(PersonalCommunications Service,个人通信***),其可以组合语音、数据处理、传真和/或数据通信能力;PDA (Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global PositioningSystem,全球定位***)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“客户端”、“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和 /或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“客户端”、“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本申请所称的“服务器”、“客户端”、“服务节点”等名称所指向的硬件,本质上是具备个人计算机等效能力的电子设备,为具有中央处理器(包括运算器和控制器)、存储器、输入设备以及输出设备等冯诺依曼原理所揭示的必要构件的硬件装置,计算机程序存储于其存储器中,中央处理器将存储在外存中的程序调入内存中运行,执行程序中的指令,与输入输出设备交互,借此完成特定的功能。
需要指出的是,本申请所称的“服务器”这一概念,同理也可扩展到适用于服务器机群的情况。依据本领域技术人员所理解的网络部署原理,所述各服务器应是逻辑上的划分,在物理空间上,这些服务器既可以是互相独立但可通过接口调用的,也可以是集成到一台物理计算机或一套计算机机群的。本领域技术人员应当理解这一变通,而不应以此约束本申请的网络部署方式的实施方式。
本申请部分技术方案可部署在云端服务器,其可以与业务上相关的服务器实现数据通信连接以协调在线服务,还可与其他相关服务器构成逻辑上相关联的分布式集群,以分布式集群为单位部署微服务架构,通过微服务架构内的各个容器实例来部署在线服务,通过在线服务来为相关的终端设备例如智能手机、个人计算机、第三方服务器等提供具体访问服务。所述的智能手机和个人计算机均可通过公知的网络接入方式接入互联网,与本申请的服务器建立数据通信链路,以便访问和使用所述服务器所提供的服务。
对于服务器而言,一般通过提供在线服务的服务引擎开放相应的程序接口供各种终端设备进行远程调用,本申请中适于部署于服务器的相关技术方案,便可以此种方式实现于服务器中。
本申请所称的计算机程序,即应用程序,以计算机程序语言开发而成,安装于计算机设备中,包括服务器、终端设备等,用于实现本申请所限定的相关功能,除非特别指定,否则与其所采用的开发语言无关。
本领域技术人员对此应当知晓:本申请的各种方法,虽然基于相同的概念而进行描述而使其彼此间呈现共通性,但是,除非特别说明,否则这些方法都是可以独立执行的。同理,对于本申请所揭示的各个实施例而言,均基于同一发明构思而提出,因此,对于相同表述的概念,以及尽管概念表述不同但仅是为了方便而适当变换的概念,应被等同理解。
本申请即将揭示的各个实施例,除非明文指出彼此之间的相互排斥关系,否则,各个实施例所涉的相关技术特征可以交叉结合而灵活构造出新的实施例,只要这种结合不背离本申请的创造精神且可满足现有技术中的需求或解决现有技术中的某方面的不足即可。对此变通,本领域技术人员应当知晓。
请参阅图1所示本申请的分布式集群资源配置方法在其典型实施例中的基本流程示意图,本申请提供的一种分布式集群资源配置方法,被编程为应用程序,部署于服务器中开放接口调用,并响应接口调用而返回相应的执行结果,其包括如下步骤:
步骤S11、克隆部署于分布式集群的微服务架构中的在运行的容器的镜像:
所述的分布式集群,用于部署所述的微服务架构。所述的微服务架构,用于实现互联网业务的各个具体在线服务,并通过开放后台管理接口,为部署方开放其各个在线服务的管理功能。微服务架构的各个具体在线服务,例如电商***的电商产品搜索服务,其后台一般被部署至为微服务架构规划的容器所派生的实例中运行。管理用户可以为微服务架构的容器提前做好规划,配置其所需占用的各个硬件资源的配额及单位定价等信息,构成容器模板,当微服务架构需要应在线服务运行之需创建一个容器实例时,便可以根据所述的容器模板相对应的配置方案,根据该配置方案调用相应配额的各个硬件资源,从而构造出相应的容器实例,将该容器实例用于运行相应的在线服务。其中,所述的各个硬件资源,是指分布式集群中服务器的计算机设备中的CPU、内存、硬盘。分布在集群内不同服务器上的硬件资源,被微服务架构进行逻辑上统一的集中调度分配,然后让各容器各取所需获得各个硬件资源的相应的配额。由此可知,对于微服务架构而言,其所调用的各种硬件资源,与其所处分布式集群中的物理位置是无关的。
当一个容器被投入使用并处于运行状态时,其上运行的在线服务一般不宜中断,以免影响其对在线用户正常开放业务服务。为了考察一个或多个容器的运行状态,需要以分布式集群所支持的容器克隆技术,将所述的一个或多个容器进行克隆复制,以创建出所述一个或多个容器的镜像,如此,通过对镜像的操作不会影响原容器的正常运行,还可实现相关操作目的。关于克隆在运行的容器获得其相应的镜像的技术,为本领域技术人员所知晓,通常也是微服务架构所支持的功能之一,故此处恕不详述。
为了实现本申请中后续对容器进行压测力测试的目的,可以按需克隆一个或多个容器,获得相应的镜像。
步骤S12、检测对所述镜像实施压力测试所生成的压测指标,当至少一个目标压测指标溢出相应的预设范围后触发容器配置事件:
首先,启动对前一步骤所获得的一个或多个镜像的压力测试,以便经过压力测试后,获得测试所生成的相应的性能压力测试指标,简称压测指标。这些压测指标通常包括但不限于:
吞吐量:容器实例中运行的在线服务每秒钟能够处理的请求数或任务数;
响应时间:容器实例中运行的在线服务处理一个请求或一个任务的耗时。
错误率:容器实例中运行的在线服务处理同一批请求中,结果出错的请求所占比例。
QPS:每秒查询率,每秒查询率是对一个特定的在线服务在规定时间内所处理流量多少的衡量标准。
并发用户数:指容器实例内在线服务可以同时承载的正常使用***功能的用户的数量。
这些压测指标均为本领域技术人员所熟知的概念,分别从各个不同侧面反映一个在线服务的运行性能,对于本申请的微服务架构而言,也是反映一个容器实例的运行性能,其中以QPS为核心的压测指标,因其综合反映了一个容器以其有限的硬件资源提供服务响应请求的过程中所体现的最大吞吐能力。因此,本申请中,主要确定QPS作为目标压测指标,以便依据QPS检测一个容器的实际运行效率。
当然,借鉴采用QPS作为目标压测指标这一典型实施例,本领域技术人员还可举一反三,利用吞吐量、响应时间、并发用户数等其他一个或多个压测指标作为检测维度,对相应的容器的实际运行效率做出判决,由此,在不超脱本申请的创造精神的情况下,不受限于本申请的示例而实现灵活的发挥。
现有技术存在多种压测工具可以对容器实例实施压力测试,获得各种相应的压测指标,以获取QPS相关的压力测试工具为例,有wrk、ab、Jmeter等工具。其中:wrk是一款现代化的HTTP性能测试工具,即使运行在单核CPU上也能产生显著的压力。最大的优点是它支持多线程,这样更容易发挥多核CPU 的能力,从而更容易测试出***的极限能力;ab是ApacheBenchmark的简称,是apache自带的压力测试工具;Jmeter,全称Apache JMeter,是Apache组织开发的基于Java的压力测试工具。
另一种方式是考虑到分布式集群这种具体情况,常以Docker作为容器平台进行微服务架构的部署,而Docker配备有相应的压力测试工具Stress,通过该工具可以更为高效地实施对基于Docker的容器的镜像创建以及实施压力测试,从而获得相关压力测试参数。
借助相应的工具对镜像实施压力测试,最终获得目标压测指标后,便可对该目标压测指标进行考察,主要是考察该目标压测指标是否溢出预设范围。所述的预设范围,可以是一个阈值,例如为容器的每秒查询率这一指标设定一个期望阈值,当一个容器压测所得的每秒查询率高于这一期望阈值时,可判定相应的容器满足要求,而当低于这一期望阈值时,则可判定该容器的每秒查询率这一具体目标测试指标溢出了其相应的预设范围。此处所称预设范围,应做广义理解,是一个抽象概念,并非一个数学上的区间概念,但其本身包含了数学上的区间意涵,例如,每秒查询率出现在所述期望阈值与无穷大之间时,会被视为容器满足相关要求,这种情况下,所述的预设范围其实暗指该期望阈值至无穷大这一区间。将其他压测指标作为所述的目标压测指标也与此同理,本领域技术人员可以因应各个具体压测指标的数学和物理意义而灵活设定所述的预设范围,从而对目标压测指标进行考察,从而判定相应的镜像的目标压测指标是否溢出该预设范围。
当根据目标压测指标判定该目标压测指标超出预设范围之后,便视为当前镜像相对应的容器不满足相关业务需求,其在先获得分配的硬件资源不足,因此,需要为新的容器实例重新提供关于各种硬件资源的配置方案,由此而触发一个容器配置事件,以便进一步响应该容器配置事件进行容器配置方案的重新定制。
步骤S13、响应所述容器配置事件,根据所述容器运行所需的各个硬件资源的单位定价,计算确定多个配置方案中价格成本最低者,所述配置方案包含为创建具有更优的所述目标压测指标的容器而分配的各个硬件资源的配额:
受所述容器配置事件的触发,启动对多个配置方案的评估分析。
为了实现对多个配置方案的评估分析,由于***中的各种硬件资源是确定的,且其成本也是基本固定的,因此,可以预先对各种硬件资源的成本进行量化,适应每种硬件资源给出其单位***格,即其单位定价。确定所述的单位定价的方式可以灵活实施,例如可以根据硬件的实际成本确定,也可以根据市场行情统计确定等,总而言之,表现在数据层面上,所给出的各种硬件资源的单位定价首先是确定的,其次是单位性的,例如,CPU的单位定价可以理解为以核数为计价单位确定的价格,内存的单位定价可以理解为以G为单位而确定的价格,同理,硬盘的单位定价也可以理解为以G为单位而确定的价格。至于单位所占据的尺度本身,本领域技术人员可以灵活确定,无需以此处示例为限。
各个硬件资源所需的单位定价可以预设存在到数据库中以便在本步骤中调用,也可以在本步骤中即时获取用户输入来确定,还可在本步骤中从第三方提供的价格查询接口中获取来确定,对此,本领域技术人员均可灵活实施。
所述的配置方案,至少包含各个所述的硬件资源所需的配额的数据,即建立具体硬件资源到其具体配额之间的映射关系,使得通过该配置方案,即可知晓每一种具体硬件资源相应的配额。配置方案本质上是为了描述一个容器实例能够获得的各种具体硬件资源的规模,因此,其形式可大致表达如:“CPU:2核发,内存:2G,硬盘:32G”,当然也可简化表达为“2,2,32”,诸如此类,只要本步骤中能够根据明确的映射关系读取出各个硬件资源相应的配额即可。
所述的配置方案,较佳的情况下,应保证根据其指定的各个配额所获得的各种硬件资源,可以使得根据其创建的容器实例在投入使用之后,能够获得更优的所述目标压测指标,例如当目标压测指标为QPS时,根据配置方案派生的新的容器实例的QPS,理应高于旧的容器实例的QPS。此处所称的更优的目标压测指标,其优越性的体现,未必是新值大于旧值,有时候可以是新值低于旧值,视科具体的目标压测指标内容而定,例如,如果以响应时间为目标压测指标,则当新的响应时间小于旧的响应时间时,这种情况下,新值便是更优的目标压测指标,对此,本领域技术人员足以利用先验知识实现灵活变通理解。为了达成这一目标,一种方式中,可以由本领域技术人员以经验知识灵活确定,例如理论上增加CPU的核数有助于提升QPS,即可调高CPU的核数来给出新的配置。另一种方式中,可以通过实施对配置方案的预先测试验证来实现,本申请后续将进一步予以介绍,此处暂且不表。
所述配置方案,可以是对应预存在数据库中的,也可以是由微服务架构固有的建议机制或者试算机制所推荐的,还可以是在本步骤中由后台管理用户逐一输入提供的,本领域技术人员可以实施,其具体实施方式如何,并不影响本申请的创造精神的体现。
当存在所述的多个配置方案时,由于每个配置方案中包含了各种硬件资源相应的配额,并且各种硬件资源的单位定价也是已知的,在这种情况下,便可以计算出各个配置方案所对应的配置成本,获得相应的***格。各个配置方案的***格均已知的情况下,便可从中确定出其最小值,确定出***格最低的配置方案。由于该配置方案首先保证了其能指导获得更优的目标压测指标的容器实例,且其***格又是最低者,这种情况下,实际上便确定出了创建容器所需的最优的配置方案,该配置方案本质上也起到了用于创建容器所依据的容器模板的作用。
步骤S14、根据价格成本最低的配置方案配置所述微服务架构的容器模板,以使该微服务架构根据容器模板所派生的容器获得相应配额的各个硬件资源:
为了使微服务架构可以根据成本最低的配置方案派生新的容器实例,甚至重新配置已有的容器,需要将所述的价格成本最低的配置方案存储为该微服务架构中的容器模板,实现对微服务架构的容器模板的配置。
微服务架构后续可根据新的容器模板中指定的各个硬件资源,在响应容器实例创建指令时,以包括CPU、内存、硬盘等的具体配额,派生出相应的容器实例,投入使用。
由于价格成本最低的配置方案本质上是实现分布式集群中的容器所占用的各个硬件资源的调度的最优配置方案,既考虑了成本最优,也考虑了运行时的使用率满足相关目标压测指标的要求,因此,实现了微服务架构对分布式集群的高效调度利用,使集群的整体利用率最大化而整体成本最低化。
请参阅图2,为便于提升测试效率而提取的实施例中,所述步骤S12包括如下步骤:
步骤S121、调用测试接口对所述镜像实施针对所述目标压测指标的最大压力测试:
微服务架构可以将第三方压力测试工具或者其自身所实现的用于实施压测的业务逻辑封装为方便调用的测试接口,当需要启动压力测试时,通过调用该测试接口便可启动针对所述目标压测指标的最大压力测试。
步骤S122、获取实施最大压力测试后生成的所有压测指标,从中确定所述的目标压测指标:
依据测试接口所封装的功能,有时,一次压力测试可能会产生多个相关联的压测指标,作为接口调用的结果,可能会获得多个压测指标,此时,便需根据需要而确定其中的目标压测指标,例如QPS,以便后续根据QPS来进行相应的判决。
步骤S123、判断所述目标压测指标是否低于其相应的预设阈值,当判断为是时,视其为溢出由所述预设阈值所界定的预设范围,从而触发容器配置事件:
所述的的预设阈值,是一个主观上的期望阈值,用于参与界定预设范围,例如为容器的每秒查询率这一指标设定一个期望阈值,当一个容器压测所得的每秒查询率高于这一期望阈值时,可判定相应的容器满足要求,而当低于这一期望阈值时,则可判定该容器的每秒查询率这一具体目标测试指标溢出了其相应的预设范围。此处所称预设范围,应做广义理解,是一个抽象概念,并非一个数学上的区间概念,但其本身包含了数学上的区间意涵,例如,每秒查询率出现在所述期望阈值与无穷大之间时,会被视为容器满足相关要求,这种情况下,所述的预设范围其实暗指该期望阈值至无穷大这一区间。将其他压测指标作为所述的目标压测指标也与此同理,本领域技术人员可以因应各个具体压测指标的数学和物理意义而灵活设定所述的预设阈值以界定不同预设范围,从而对目标压测指标进行全面考察,从而判定相应的镜像的目标压测指标是否溢出该预设范围。
本实施例中,当根据目标压测指标判定该目标压测指标低于预设阈值之后,便视为当前镜像相对应的容器不满足相关业务需求,其在先获得分配的硬件资源不足,因此,需要为新的容器实例重新提供关于各种硬件资源的配置方案,由此而触发一个容器配置事件,以便进一步响应该容器配置事件进行容器配置方案的重新定制。
本实施例主要适用于以QPS或与其相类似的压测指标为目标压测指标的情况,在这种情况下,可以通过设定预设阈值来高效地判决是否需要触发容器配置事件,从而决定是否重启配置方案的决策逻辑。
本申请尤其适用于具有高并发率且需要处理大量请求的互联网业务***中,尤其适用于电商领域的搜索***中。
请参阅图3,为指导实施配置方案的获取过程而提供的实施例中,所述步骤 S13中,根据所述容器运行所需的各个硬件资源的单位定价,计算确定多个配置方案中价格成本最低者,包括如下步骤:
步骤S135、获取各个配置方案相对应的各个硬件资源的配额:
如前所述,所述配置方案,可以是对应预存在数据库中的,也可以是由微服务架构固有的建议机制或者试算机制所推荐的,还可以是在本步骤中由后台管理用户逐一输入提供的,本领域技术人员可以实施,其具体实施方式如何,并不影响本申请的创造精神的体现。本实施例推荐逐一接收用户输入以提供各个配置方案。
步骤S136、适应每一配置方案,计算出其中每一硬件资源的单件成本,将同一配置方案所需的所有硬件资源的单件成本进行线性融合为当前配置方案的价格成本:
具体而言,针对每一配置方案均需进行关于价格成本的计价,以确定每个配置方案相对应的价格成本。
一个实施例中,可以直接先根据每一配置方案中的每一硬件资源的配额,与该种硬件资源的单位定价相乘获得其单件成本,然后将所有硬件资源的所述单件成本求和即得到配置方案相对应的价格成本。这种方式简单易用,能提高决策效率。
另一实施例中,调用预设的计价公式为每一配置方案计算价格成本,该计价公式中,以每个硬件资源的单位定价与其配额之间的乘积确定该硬件资源的单件成本,将各个硬件资源的单件成本分别匹配不同的权重参数后进行求和运算,以求得每一配置方案的所述价格成本。为各个硬件资源的单件成本配以不同的权重参数,有助于更灵活地实现各个硬件资源的单件成本之间的线性融合,灵活确定每个硬件资源在整个配置方案中的作用。一般而言,所述容器运行所需的各个硬件资源包括计算机设备的CPU、内存、硬盘,其各自所述的权重参数之间的关系,按照所表征权重大小自大至小排列为:CPU、内存、硬盘。这一排列主要是考虑到CPU、内存、硬盘的资源单位成本的高低的现实情况,由此可使本申请所进行的评估分析结果更具现实意义。
本领域技术人员可以根据此处所揭示的原理,基于成本最优原则,灵活调整有关价格成本的计价方案。
步骤S137、从所有配置方案中查找确定出所述价格成本最低的配置方案:
最终,针对各个配置方案相对应的价格成本,运行求最小值函数查找出其中价格成本最低的配置方案,即为微服务架构后续创建容器所需的最优配置方案。
本实施例给出了关于评估分析容器所需的硬件资源的评估分析方案的多个有效示例,优势各异,有助于编程实现,能提升计算机决策效率。
请参阅图4,进一步扩展的用于获取配置方案的一个实施例中,在所述步骤 S135之前,即获取各个配置方案相对应的各个硬件资源的配额的步骤之前,包括如下步骤:
步骤S131、接收用于构造一个新的配置方案的各个硬件资源的配额的输入信息:
本实施例中,可以通过微服务架构的后台管理管理页面中接收管理用户录入各个配置方案的相关信息,针对每个配置方案,要求录入人员输入所述各个硬件资源的具体配额相对应的数据,由此便实现了对配置方案中各个硬件资源相对应的配额的采集。其中,可以允许一次性输入多个所述的配置方案,也可以按照每一配置方案独立采集相关配额。
步骤S132、根据所述配额向所述微服务架构申请一个用于临时测试的容器:
对于一个配置方案而言,由于其涉及调用的各个硬件资源的配额已经获取,因为,可以向微服务架构提取容器创建请求,请求微服务架构根据此处提供的各个硬件资源的配置来派生出一个与该配置方案相对应的新的容器实例,该容器实例是临时性的,是为了测试根据配置方案所得的容器其目标压测指标是否优于现有的容器,因此,后续可以对其进行清理回收。
步骤S133、针对所述目标压测指标对该容器实施最大压力测试,获得相应产生的压测指标:
同理,借助第三方工具或者微服务架构所封装的测试接口,发起对临时申请获得的容器的最大压力测试,获得产生的压测指标。
步骤S134、验证所产生的压测指标中,所述目标压测指标是否优于对所述镜像实施压力测试所获得的目标压测指标,当判断为是时,将该输入信息转换为相应的配置方案:
所产生的压测指标中,只有目标压测指标是需要使用到的。此处需要将其该目标压测指标与本申请对所述镜像实施压力测试所获得的目标压测指标相比较,判断前者是否优于后者,当前者优于后者时,说明新的配置方案将能获得更能满足在线业务的性能要求的容器,可以将用户所输入的配额相关的信息转换为相应的新的配置方案数据;否则,新的配置方案不具有实用性,予以拒绝即可。需要注意的是,两个目标测试指标孰优孰劣的比较关系,不简单取决于两个数据之间的孰高孰低,而应如前所述,根据目标测试指标具体内容和性质而定,本领域技术人员对此应当理解。
本实施例通过前置于本申请的评估分析价格成本的步骤来实现对配置方案的预先验证,确保根据配置方案所得的容器能够满足在线服务相关的运行性能要求,在此基础上再适用成本最低评估原则,最终能够确保按照具有较高性价比的原则来使用分布式集群中的硬件资源,实现容器实例的合理配置。
请参阅图5,本申请实施例还提供一种分布式集群资源配置装置,其包括镜像克隆模块11、事件触发模块12、事件响应模块13、容器配置模块14,其中,所述镜像克隆模块11,用于克隆部署于分布式集群的微服务架构中的在运行的容器的镜像;所述事件触发模块12,用于检测对所述镜像实施压力测试所生成的压测指标,当至少一个目标压测指标溢出相应的预设范围后触发容器配置事件;所述事件响应模块13,用于响应所述容器配置事件,根据所述容器运行所需的各个硬件资源的单位定价,计算确定多个配置方案中价格成本最低者,所述配置方案包含为创建具有更优的所述目标压测指标的容器而分配的各个硬件资源的配额;所述容器配置模块14,根据价格成本最低的配置方案配置所述微服务架构的容器模板,以使该微服务架构根据容器模板所派生的容器获得相应配额的各个硬件资源。
具体化的一种实施例中,所述事件触发模块12包括:压测实施子模块,用于调用测试接口对所述镜像实施针对所述目标压测指标的最大压力测试;指标获取子模块,用于获取实施最大压力测试后生成的所有压测指标,从中确定所述的目标压测指标;溢出触发子模块,用于判断所述目标压测指标是否低于其相应的预设阈值,当判断为是时,视其为溢出由所述预设阈值所界定的预设范围,从而触发容器配置事件。
较佳的一种实施例中,所述目标压测指标为吞吐量、每秒查询率、并发用户数中的任意一项。
具体化的一种实施例中,所述事件响应模块13包括:配额获取子模块,用于获取各个配置方案相对应的各个硬件资源的配额;成本计算子模块,用于适应每一配置方案,计算出其中每一硬件资源的单件成本,将同一配置方案所需的所有硬件资源的单件成本进行线性融合为当前配置方案的价格成本;成本优选子模块,用于从所有配置方案中查找确定出所述价格成本最低的配置方案。
优选的一种实施例中,所述成本计算子模块被调用运行时实现如下功能:调用预设的计价公式为每一配置方案计算价格成本,该计价公式中,以每个硬件资源的单位定价与其配额之间的乘积确定该硬件资源的单件成本,将各个硬件资源的单件成本分别匹配不同的权重参数后进行求和运算,以求得每一配置方案的所述价格成本。
较佳的一种实施例中,所述容器运行所需的各个硬件资源包括计算机设备的CPU、内存、硬盘,其各自所述的权重参数之间的关系,按照所表征权重大小自大至小排列为:CPU、内存、硬盘。
进一步扩展的一种实施例中,所述事件响应模块13包括如下前置运行的子模块:配额输入子模块,用于接收用于构造一个新的配置方案的各个硬件资源的配额的输入信息;容器申请子模块,用于根据所述配额向所述微服务架构申请一个用于临时测试的容器;临时压测子模块,用于针对所述目标压测指标对该容器实施最大压力测试,获得相应产生的压测指标;配额验证子模块,用于验证所产生的压测指标中,所述目标压测指标是否优于对所述镜像实施压力测试所获得的目标压测指标,当判断为是时,将该输入信息转换为相应的配置方案。
本申请实施例还提供计算机设备,如图6所示,该计算机设备的内部结构示意图。该计算机设备包括通过***总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作***、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种分布式集群资源配置方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种分布式集群资源配置方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本实施方式中处理器用于执行图5中各个模块/子模块的具体功能,存储器存储有执行上述模块所需的程序代码和各类数据。网络接口用于向用户终端或服务器之间的数据传输。本实施方式中的存储器存储有分布式集群资源配置装置中执行所有子模块所需的程序代码及数据,服务器能够调用服务器的程序代码及数据执行所有子模块的功能。
本申请还提供一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例的分布式集群资源配置方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM) 等。
综上所述,本申请能够为微服务架构提供其对分布式集群中硬件资源的调度的配置技术,确保微服务架构对集群硬件资源的利用率最大化,同时确保成本最低化。
本技术领域技术人员可以理解,本申请中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本申请中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本申请中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种分布式集群资源配置方法,其特征在于,包括如下步骤:
克隆部署于分布式集群的微服务架构中的在运行的容器的镜像;
检测对所述镜像实施压力测试所生成的压测指标,当至少一个目标压测指标溢出相应的预设范围后触发容器配置事件;
响应所述容器配置事件,根据所述容器运行所需的各个硬件资源的单位定价,计算确定多个配置方案中价格成本最低者,所述配置方案包含为创建具有更优的所述目标压测指标的容器而分配的各个硬件资源的配额;
根据价格成本最低的配置方案配置所述微服务架构的容器模板,以使该微服务架构根据容器模板所派生的容器获得相应配额的各个硬件资源。
2.根据权利要求1所述的分布式集群资源配置方法,其特征在于,检测对所述镜像实施压力测试所生成的压测指标,当至少一个目标压测指标溢出相应的预设范围后触发容器配置事件,包括如下步骤:
调用测试接口对所述镜像实施针对所述目标压测指标的最大压力测试;
获取实施最大压力测试后生成的所有压测指标,从中确定所述的目标压测指标;
判断所述目标压测指标是否低于其相应的预设阈值,当判断为是时,视其为溢出由所述预设阈值所界定的预设范围,从而触发容器配置事件。
3.根据权利要求2所述的分布式集群资源配置方法,其特征在于,所述目标压测指标为吞吐量、每秒查询率、并发用户数中的任意一项。
4.根据权利要求1所述的分布式集群资源配置方法,其特征在于,根据所述容器运行所需的各个硬件资源的单位定价,计算确定多个配置方案中价格成本最低者,包括如下步骤:
获取各个配置方案相对应的各个硬件资源的配额;
适应每一配置方案,计算出其中每一硬件资源的单件成本,将同一配置方案所需的所有硬件资源的单件成本进行线性融合为当前配置方案的价格成本;
从所有配置方案中查找确定出所述价格成本最低的配置方案。
5.根据权利要求4所述的分布式集群资源配置方法,其特征在于,适应每一配置方案,计算出其中每一硬件资源的单件成本,将同一配置方案所需的所有硬件资源的单件成本进行线性融合为当前配置方案的价格成本,其过程为:
调用预设的计价公式为每一配置方案计算价格成本,该计价公式中,以每个硬件资源的单位定价与其配额之间的乘积确定该硬件资源的单件成本,将各个硬件资源的单件成本分别匹配不同的权重参数后进行求和运算,以求得每一配置方案的所述价格成本。
6.根据权利要求5所述的分布式集群资源配置方法,其特征在于,所述容器运行所需的各个硬件资源包括计算机设备的CPU、内存、硬盘,其各自所述的权重参数之间的关系,按照所表征权重大小自大至小排列为:CPU、内存、硬盘。
7.根据权利要求4所述的分布式集群资源配置方法,其特征在于,获取各个配置方案相对应的各个硬件资源的配额的步骤之前,包括如下步骤:
接收用于构造一个新的配置方案的各个硬件资源的配额的输入信息;
根据所述配额向所述微服务架构申请一个用于临时测试的容器;
针对所述目标压测指标对该容器实施最大压力测试,获得相应产生的压测指标;
验证所产生的压测指标中,所述目标压测指标是否优于对所述镜像实施压力测试所获得的目标压测指标,当判断为是时,将该输入信息转换为相应的配置方案。
8.一种分布式集群资源配置装置,其特征在于,其包括:
镜像克隆模块,用于克隆部署于分布式集群的微服务架构中的在运行的容器的镜像;
事件触发模块,用于检测对所述镜像实施压力测试所生成的压测指标,当至少一个目标压测指标溢出相应的预设范围后触发容器配置事件;
事件响应模块,用于响应所述容器配置事件,根据所述容器运行所需的各个硬件资源的单位定价,计算确定多个配置方案中价格成本最低者,所述配置方案包含为创建具有更优的所述目标压测指标的容器而分配的各个硬件资源的配额;
容器配置模块,根据价格成本最低的配置方案配置所述微服务架构的容器模板,以使该微服务架构根据容器模板所派生的容器获得相应配额的各个硬件资源。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述的分布式集群资源配置方法的步骤。
10.一种存储有计算机可读指令的存储介质,其特征在于,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项权利要求所述的分布式集群资源配置的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110794106.3A CN113467892A (zh) | 2021-07-14 | 2021-07-14 | 分布式集群资源配置方法及其相应的装置、设备、介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110794106.3A CN113467892A (zh) | 2021-07-14 | 2021-07-14 | 分布式集群资源配置方法及其相应的装置、设备、介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113467892A true CN113467892A (zh) | 2021-10-01 |
Family
ID=77878384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110794106.3A Pending CN113467892A (zh) | 2021-07-14 | 2021-07-14 | 分布式集群资源配置方法及其相应的装置、设备、介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113467892A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114816770A (zh) * | 2022-04-29 | 2022-07-29 | 北京星汉未来网络科技有限公司 | 一种衡量计算机服务压力状态的通用***及实现方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140047341A1 (en) * | 2012-08-07 | 2014-02-13 | Advanced Micro Devices, Inc. | System and method for configuring cloud computing systems |
US20170264493A1 (en) * | 2015-03-09 | 2017-09-14 | Vapor IO Inc. | Autonomous distributed workload and infrastructure scheduling |
US9983891B1 (en) * | 2017-03-21 | 2018-05-29 | Veritas Technologies Llc | Systems and methods for distributing configuration templates with application containers |
CN108897557A (zh) * | 2018-06-20 | 2018-11-27 | 中国联合网络通信集团有限公司 | 微服务架构的更新方法及装置 |
CN111381936A (zh) * | 2020-03-23 | 2020-07-07 | 中山大学 | 一种分布式云***-云簇架构下的服务容器资源的分配方法与*** |
CN111752678A (zh) * | 2020-06-16 | 2020-10-09 | 杭州电子科技大学 | 面向边缘计算中分布式协同学习的低功耗容器放置方法 |
-
2021
- 2021-07-14 CN CN202110794106.3A patent/CN113467892A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140047341A1 (en) * | 2012-08-07 | 2014-02-13 | Advanced Micro Devices, Inc. | System and method for configuring cloud computing systems |
US20170264493A1 (en) * | 2015-03-09 | 2017-09-14 | Vapor IO Inc. | Autonomous distributed workload and infrastructure scheduling |
US9983891B1 (en) * | 2017-03-21 | 2018-05-29 | Veritas Technologies Llc | Systems and methods for distributing configuration templates with application containers |
CN108897557A (zh) * | 2018-06-20 | 2018-11-27 | 中国联合网络通信集团有限公司 | 微服务架构的更新方法及装置 |
CN111381936A (zh) * | 2020-03-23 | 2020-07-07 | 中山大学 | 一种分布式云***-云簇架构下的服务容器资源的分配方法与*** |
CN111752678A (zh) * | 2020-06-16 | 2020-10-09 | 杭州电子科技大学 | 面向边缘计算中分布式协同学习的低功耗容器放置方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114816770A (zh) * | 2022-04-29 | 2022-07-29 | 北京星汉未来网络科技有限公司 | 一种衡量计算机服务压力状态的通用***及实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017045472A1 (zh) | 资源预测方法、***和容量管理装 | |
CN102694868B (zh) | 一种集群***实现及任务动态分配方法 | |
CN112567688A (zh) | 用于嵌入的云微服务的自动调谐器 | |
CN111950988B (zh) | 分布式工作流调度方法、装置、存储介质及电子设备 | |
US11579933B2 (en) | Method for establishing system resource prediction and resource management model through multi-layer correlations | |
CN110287332B (zh) | 云环境下仿真模型选择方法与装置 | |
US10223397B1 (en) | Social graph based co-location of network users | |
CN109614227A (zh) | 任务资源调配方法、装置、电子设备及计算机可读介质 | |
CN111817974A (zh) | 基于令牌桶的接口限流方法、装置、***及可读存储介质 | |
Barve et al. | Fecbench: A holistic interference-aware approach for application performance modeling | |
CN115914392A (zh) | 算力网络资源调度方法及*** | |
Carella et al. | An extensible autoscaling engine (ae) for software-based network functions | |
CN112506619A (zh) | 作业处理方法、装置、电子设备、存储介质和程序产品 | |
CN113467892A (zh) | 分布式集群资源配置方法及其相应的装置、设备、介质 | |
US20230088581A1 (en) | Predicting microservices required for incoming requests | |
Shestak et al. | A stochastic approach to measuring the robustness of resource allocations in distributed systems | |
CN109992408B (zh) | 一种资源分配方法、装置、电子设备和存储介质 | |
CN115190010B (zh) | 基于软件服务依赖关系的分布推荐方法和装置 | |
CN110971478B (zh) | 云平台服务性能的压测方法、装置及计算设备 | |
CN114564249B (zh) | 推荐调度引擎、推荐调度方法及计算机可读存储介质 | |
US11960939B2 (en) | Management computer, management system, and recording medium | |
CN114281474A (zh) | 一种资源调节方法及装置 | |
CN113986495A (zh) | 一种任务执行方法、装置、设备及存储介质 | |
Hughes et al. | Qos explorer: A tool for exploring qos in composed services | |
CN102282824A (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 |