CN111522664A - 基于分布式服务的服务资源管控方法及装置 - Google Patents

基于分布式服务的服务资源管控方法及装置 Download PDF

Info

Publication number
CN111522664A
CN111522664A CN202010331472.0A CN202010331472A CN111522664A CN 111522664 A CN111522664 A CN 111522664A CN 202010331472 A CN202010331472 A CN 202010331472A CN 111522664 A CN111522664 A CN 111522664A
Authority
CN
China
Prior art keywords
service
service provider
offline
resources
availability
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
Application number
CN202010331472.0A
Other languages
English (en)
Inventor
杨振华
章焙杰
章奔奔
洑佳红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202010331472.0A priority Critical patent/CN111522664A/zh
Publication of CN111522664A publication Critical patent/CN111522664A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/505Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5038Allocation 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 execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明公开了一种基于分布式服务的服务资源管控方法及装置,基于分布式服务的服务资源管控方法包括:获取服务提供方可用的硬件资源以及软件资源;根据所述硬件资源以及所述软件资源确定可用性指标;根据所述可用性指标以及预设的下线阈值对所述服务提供方进行下线以及上线处理。本发明能够支持服务提供方根据其自身的软、硬件资源的可用率,由服务提供方进行服务的自适应下线和上线,实现服务提供方的自隔离能力,保障服务提供方对服务请求的响应成功率。

Description

基于分布式服务的服务资源管控方法及装置
技术领域
本发明涉及互联网技术领域,尤其涉及分布式服务注册管理,具体涉及一种基于分布式服务的服务资源管控方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
现有技术中,分布式体系结构下的服务注册与发现主要基于注册中心(例如:zookeeper)来实现。服务提供方将服务发布到注册中心之后,由注册中心根据一定的负载策略(例如:最近最少使用、随机、轮询)来管理调用方发起的服务请求。在该种管理方式下,负载均衡策略针对服务提供方来讲,通常是被动的,服务提供方是否可用仅基于服务提供方所部署的服务节点与注册中心间的可用性探测报文,无法准确体现服务提供方节点中单个服务的是否可用,其具体表现在:
1、单个服务内部需要使用的有限软件资源(例如:线程池、消息队列)被服务节点中其他竞争程序占用导致资源不可用,引起服务调用失败。
2、服务节点中硬件资源(例如:CPU、JVM、磁盘IO)已达到一定的使用率,响应新的服务请求在资源不足的场景下会导致服务响应时间较长,引起服务调用超时或者失败。
针对上述两种现象,在现有注册中心的负载均衡策略已经服务是否可用的探测机制下,可能会导致服务提供方在软硬件资源不足以响应服务请求的场景下,持续响应注册中心负载过来的服务请求,引起服务调用失败。
发明内容
本发明实施例提供一种基于分布式服务的服务资源管控方法及装置,灵活的将服务提供方的软件资源以及硬件资源可用性与服务的下线与注册相结合,实现了服务的注册与下线完全根据资源的可用性进行以及相应的参数配置进行自适应处理,注册中心无需额外改造。另外,支持服务级别的服务上/下线操作隔离,当一个服务提供方中同时提供多个服务时,可以针对单个服务进行上线或者下线操作,服务之间互相不影响。
为解决上述技术问题,本发明提供以下技术方案:
第一方面,本发明提供一种基于分布式服务的服务资源管控方法,包括:
获取服务提供方可用的硬件资源以及软件资源;
根据所述硬件资源以及所述软件资源确定可用性指标;
根据所述可用性指标以及预设的下线阈值对所述服务提供方进行下线以及上线处理。
一实施例中,所述硬件资源包括:内存使用率、CPU以及磁盘空间;所述软件资源包括:线程池、JVM、数据库连接池可用数据以及异步队列深度。
一实施例中,所述根据所述硬件资源以及所述软件资源确定可用性指标,包括:
根据所述内存使用率、CPU、磁盘空间、线程池、JVM、数据库连接池可用数据以及异步队列深度计算出所述服务提供方所能提供的各服务的可用性指标。
一实施例中,所述根据所述可用性指标以及预设的下线阈值对所述服务提供方进行下线以及上线处理,包括:
判断所述可用性指标与所述下线阈值之间的关系,并根据所述关系对所述服务提供方进行下线以及上线处理。
一实施例中,基于分布式服务的服务资源管控方法还包括:
当所述服务提供方下线或上线后,发送对应的消息至注册中心。
第二方面,本发明提供一种基于分布式服务的服务资源管控装置,该装置包括:
资源获取单元,用于获取服务提供方可用的硬件资源以及软件资源;
可用性指标确定单元,用于根据所述硬件资源以及所述软件资源确定可用性指标;
处理单元,用于根据所述可用性指标以及预设的下线阈值对所述服务提供方进行下线以及上线处理;所述硬件资源包括:内存使用率、CPU以及磁盘空间;所述软件资源包括:线程池、JVM、数据库连接池可用数据以及异步队列深度。
一实施例中,所述可用性指标确定单元具体用于根据所述内存使用率、CPU、磁盘空间、线程池、JVM、数据库连接池可用数据以及异步队列深度计算出所述服务提供方所能提供的各服务的可用性指标。
一实施例中,基于分布式服务的服务资源管控装置还包括:
消息发送单元,用于当所述服务提供方下线或上线后,发送对应的消息至注册中心;
所述处理单元具体用于判断所述可用性指标与所述下线阈值之间的关系,并根据所述关系对所述服务提供方进行下线以及上线处理。
第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现基于分布式服务的服务资源管控方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现基于分布式服务的服务资源管控方法的步骤。
从上述描述可知,本发明实施例提供的基于分布式服务的服务资源管控方法及装置,首先根据服务提供方可用的硬件资源以及软件资源确定可用性指标,接着,探测服务提供方的硬件以及软件资源是否可供使用,最后根据服务是否可用的判断结果并结合当前服务的状态进行服务的动态上/下线处理。本发明实施例在现有服务注册中心的负载均衡机制以外,在服务提供方内部额外建立一种能够通过自身临界资源的可用性判断的机制,并基于该机制的判断结果实现服务提供方端主动发起的基于服务提供方资源可用性的服务自适应下线与重新上线的方法。通过该方法可以弥补现有服务注册与请求管理的机制下服务可用性判断的不足,从而提高服务提供方对自身资源的可探知性,保证资源不足时主动避免响应服务请求,使得注册中心可以将服务负载到资源可用性更高的服务节点,提高整个服务集群响应服务的成功率。具有如下有益效果:
1、服务的注册与下线完全根据资源的可用性进行以及相应的参数配置进行自适应处理,注册中心无需额外改造。
2、支持服务级别的服务上/下线操作隔离,当一个服务提供方中同时提供多个服务时,可以针对单个服务进行上线或者下线操作,服务之间互相不影响。
综上,本发明实施例提供的方法以及装置能够支持服务提供方根据其自身的软、硬件资源的可用率,由服务提供方进行服务的自适应下线和上线,实现服务提供方的自隔离能力,保障服务提供方对服务请求的响应成功率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中提供的基于分布式服务的服务资源管控方法的一流程图;
图2为本发明实施例中于分布式服务的服务资源管控方法的步骤200的的流程示意图;
图3为本发明实施例中于分布式服务的服务资源管控方法的步骤300的的流程示意图;
图4为本发明实施例中提供的基于分布式服务的服务资源管控方法的另一流程图;
图5为本发明的具体应用实例中基于分布式服务的服务资源管控方法的流程示意图;
图6为本发明的具体应用实例中资源使用率探测组件的内部架构示意图;
图7为本发明的具体应用实例中步骤S1内部架构示意图;
图8为本发明的具体应用实例中步骤S2内部架构示意图;
图9为本发明实施例中提供的基于分布式服务的服务资源管控装置的一架构示意图;
图10为本发明实施例中提供的基于分布式服务的服务资源管控装置的另一架构示意图;
图11为本发明的实施例中的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
本发明实施例还提供了一种基于分布式服务的服务资源管控方法的具体实施方式,参见图1,该方法具体包括如下内容:
步骤100:获取服务提供方可用的硬件资源以及软件资源。
可以理解的是,分布式服务是指数据和程序可以不位于一个服务器上,而是分散到多个服务器,以网络上分散分布数据及受其影响的数据库操作为研究对象的一种计算模型服务器形式。分布式有利于任务在整个计算机系统上进行分配与优化,克服了传统集中式系统会导致中心主机资源紧张与响应瓶颈的缺陷。
步骤100在实施时,具体为:对服务提供方硬件资源CPU、内存、JVM、磁盘IO的使用率探测,以及服务提供方内部各服务需要使用到软件资源如线程池、异步队列、数据库连接池的使用情况的探测。其中硬件资源归属于服务提供方下所有服务的公共资源,软件资源按照服务提供方下各服务的实际使用软件资源需求进行配置。
步骤200:根据所述硬件资源以及所述软件资源确定可用性指标。
具体地,综合各类服务提供方的硬件及软件的可用情况,例如线程池剩余可用数量、数据库连接池剩余可用数量、异步队列深度、内存使用率等情况,综合计算出服务提供方下各服务的可用性指标。
步骤300:根据所述可用性指标以及预设的下线阈值对所述服务提供方进行下线以及上线处理。
从上述描述可知,本发明实施例提供的基于分布式服务的服务资源管控方法,首先根据服务提供方可用的硬件资源以及软件资源确定可用性指标,接着,探测服务提供方的硬件以及软件资源是否可供使用,最后根据服务是否可用的判断结果并结合当前服务的状态进行服务的动态上/下线处理。本发明实施例在现有服务注册中心的负载均衡机制以外,在服务提供方内部额外建立一种能够通过自身临界资源的可用性判断的机制,并基于该机制的判断结果实现服务提供方端主动发起的基于服务提供方资源可用性的服务自适应下线与重新上线的方法。通过该方法可以弥补现有服务注册与请求管理的机制下服务可用性判断的不足,从而提高服务提供方对自身资源的可探知性,保证资源不足时主动避免响应服务请求,使得注册中心可以将服务负载到资源可用性更高的服务节点,提高整个服务集群响应服务的成功率。
一实施例中,所述硬件资源包括:内存使用率、CPU以及磁盘空间;所述软件资源包括:线程池、JVM、数据库连接池可用数据以及异步队列深度。
可以理解的是,JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
一实施例中,参见图2,步骤200具体包括:
步骤201:根据所述内存使用率、CPU、磁盘空间、线程池、JVM、数据库连接池可用数据以及异步队列深度计算出所述服务提供方所能提供的各服务的可用性指标。
进一步地,步骤201包括服务资源使用参数配置、服务可用性判断作业两部分。其中服务资源使用参数配置用于配置各服务需要依赖具体哪些软硬件资源,以及对资源的具体需求的阈值和资源是否充足的判断依据。服务可用性判断作业则是通过定时作业的方式,动态实时按照服务资源使用参数配置计算各服务的资源是否充足,服务是否可用。
一实施例中,参见图3,步骤300具体包括:
步骤301:判断所述可用性指标与所述下线阈值之间的关系,并根据所述关系对所述服务提供方进行下线以及上线处理。
一实施例中,参见图4,基于分布式服务的服务资源管控方法还包括:
步骤400:当所述服务提供方下线或上线后,发送对应的消息至注册中心。
在步骤301以及步骤400中,对于服务提供方的可用性指标低于下线阈值的服务,由服务提供方将该服务进行下线处理,并将下线消息发送到注册中心,实现服务提供方节点从服务集群中完成在资源不足的场景下的自隔离,保证注册中心在负载均衡的时候无法访问到该提供方的提供的服务,从而将服务请求转发到的服务集群中其他可用性更高的服务方处理。
对应地,当已经自隔离的服务提供方监控到受限的软硬件资源获得释,服务资源可用性指标高于下线阈值,自动重新实现服务注册到服务注册中心,实现服务提供方节点重新加入到服务集群,保证注册中心在负载服务请求的时候,能重新将服务请求负载到该服务节点。
从上述描述可知,本发明实施例提供的基于分布式服务的服务资源管控方法,首先根据服务提供方可用的硬件资源以及软件资源确定可用性指标,接着,探测服务提供方的硬件以及软件资源是否可供使用,最后根据服务是否可用的判断结果并结合当前服务的状态进行服务的动态上/下线处理。本发明实施例在现有服务注册中心的负载均衡机制以外,在服务提供方内部额外建立一种能够通过自身临界资源的可用性判断的机制,并基于该机制的判断结果实现服务提供方端主动发起的基于服务提供方资源可用性的服务自适应下线与重新上线的方法。通过该方法可以弥补现有服务注册与请求管理的机制下服务可用性判断的不足,从而提高服务提供方对自身资源的可探知性,保证资源不足时主动避免响应服务请求,使得注册中心可以将服务负载到资源可用性更高的服务节点,提高整个服务集群响应服务的成功率。具有如下有益效果:
1、服务的注册与下线完全根据资源的可用性进行以及相应的参数配置进行自适应处理,注册中心无需额外改造。
2、支持服务级别的服务上/下线操作隔离,当一个服务提供方中同时提供多个服务时,可以针对单个服务进行上线或者下线操作,服务之间互相不影响。
综上,本发明实施例提供的方法能够支持服务提供方根据其自身的软、硬件资源的可用率,由服务提供方进行服务的自适应下线和上线,实现服务提供方的自隔离能力,保障服务提供方对服务请求的响应成功率。
为进一步地说明本方案,本发明以zookeeper为例,提供基于分布式服务的服务资源管控方法的具体应用实例,该具体应用实例具体包括如下内容,参见图5。
在分布式的集群中,经常会由于各种原因,比如硬件故障,软件故障,网络问题,有些节点会进进出出。有新的节点加入进来,也有老的节点退出集群。这个时候,集群中其他机器需要感知到这种变化,然后根据这种变化做出对应的决策。比如一个分布式存储系统,有一个中央控制节点负责存储的分配,当有新的存储进来的时候要根据现在集群目前的状态来分配存储节点。这个时候就需要动态感知到集群目前的状态。还有,比如一个分布式的SOA架构中,服务是一个集群提供的,当消费者访问某个服务时,就需要采用某种机制发现现在有哪些节点可以提供该服务(这也称之为服务发现)。
ZooKeeper是一个分布式的、开放源码的分布式应用程序协调服务,是大数据生态中的重要组件。ZooKeeper是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
S0:探测服务提供方资源使用率。
具体地,可以构建一资源使用率探测组件。资源使用率探测组件包括对服务提供方硬件资源CPU、内存、JVM、磁盘IO的使用率探测,以及服务提供方内部各服务需要使用到软件资源如线程池、异步队列、数据库连接池的使用情况的探测。其中硬件资源归属于服务提供方下所有服务的公共资源,软件资源按照服务提供方下各服务的实际使用软件资源需求进行配置。图6示意性地示出资源使用率探测组件的内部框架。
S1:判断服务可用性。
具体包括服务资源使用参数配置、服务可用性判断作业两部分。其中服务资源使用参数配置用于配置各服务需要依赖具体哪些软硬件资源,以及对资源的具体需求的阈值和资源是否充足的判断依据。服务可用性判断作业则是通过定时作业的方式,动态实时按照服务资源使用参数配置计算各服务的资源是否充足以及服务是否可用。图7示意性示出了步骤S1所包含的具体内容。
S2:服务动态上线以及下线。
当在线的服务可用性判断为不可用时,对服务提供方实施上线以及下线操作,并通知注册中心实现服务的下线,从服务群组中隔离。当已下线的组合在资源重新判断为可用时,通过服务动态上/下线组件实时通知注册中心实现服务的重新上线,并加入服务群组。具体地,对于服务可用性低于阈值的服务,由服务提供方将服务进行下线处理,并将下线消息发送到注册中心,实现服务提供方节点从服务集群中完成在资源不足的场景下的自隔离,保证注册中心zookeeper在负载均衡的时候无法访问到该提供方的提供的服务,从而将服务请求转发到的服务集群中其他可用性更高的服务方处理。当已经自隔离的服务提供方节点监控到受限的软硬件资源获得释,服务资源可用性恢复或者高于阈值,自动重新实现服务注册到服务注册中心,实现服务提供方节点重新加入到服务集群,保证注册中心在负载服务请求的时候,能重新将服务请求负载到该服务节点。图8示意性示出了步骤S2所包含的具体内容。
从上述描述可知,本发明实施例提供的基于分布式服务的服务资源管控方法,首先根据服务提供方可用的硬件资源以及软件资源确定可用性指标,接着,探测服务提供方的硬件以及软件资源是否可供使用,最后根据服务是否可用的判断结果并结合当前服务的状态进行服务的动态上/下线处理。本发明实施例在现有服务注册中心的负载均衡机制以外,在服务提供方内部额外建立一种能够通过自身临界资源的可用性判断的机制,并基于该机制的判断结果实现服务提供方端主动发起的基于服务提供方资源可用性的服务自适应下线与重新上线的方法。通过该方法可以弥补现有服务注册与请求管理的机制下服务可用性判断的不足,从而提高服务提供方对自身资源的可探知性,保证资源不足时主动避免响应服务请求,使得注册中心可以将服务负载到资源可用性更高的服务节点,提高整个服务集群响应服务的成功率。具有如下有益效果:
1、服务的注册与下线完全根据资源的可用性进行以及相应的参数配置进行自适应处理,注册中心无需额外改造。
2、支持服务级别的服务上/下线操作隔离,当一个服务提供方中同时提供多个服务时,可以针对单个服务进行上线或者下线操作,服务之间互相不影响。
综上,本发明实施例提供的方法能够支持服务提供方根据其自身的软、硬件资源的可用率,由服务提供方进行服务的自适应下线和上线,实现服务提供方的自隔离能力,保障服务提供方对服务请求的响应成功率。
基于同一发明构思,本申请实施例还提供了基于分布式服务的服务资源管控装置,可以用于实现上述实施例所描述的方法,如下面的实施例。由于基于分布式服务的服务资源管控装置解决问题的原理与基于分布式服务的服务资源管控方法相似,因此基于分布式服务的服务资源管控装置的实施可以参见基于分布式服务的服务资源管控方法实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本发明的实施例提供一种能够实现基于分布式服务的服务资源管控方法的基于分布式服务的服务资源管控装置的具体实施方式,参见图9,基于分布式服务的服务资源管控装置具体包括如下内容:
资源获取单元10,用于获取服务提供方可用的硬件资源以及软件资源;
可用性指标确定单元20,用于根据所述硬件资源以及所述软件资源确定可用性指标;
处理单元30,用于根据所述可用性指标以及预设的下线阈值对所述服务提供方进行下线以及上线处理;所述硬件资源包括:内存使用率、CPU以及磁盘空间;所述软件资源包括:线程池、JVM、数据库连接池可用数据以及异步队列深度。
一实施例中,所述可用性指标确定单元具体用于根据所述内存使用率、CPU、磁盘空间、线程池、JVM、数据库连接池可用数据以及异步队列深度计算出所述服务提供方所能提供的各服务的可用性指标。
一实施例中,参见图10,基于分布式服务的服务资源管控装置还包括:
消息发送单元40,用于当所述服务提供方下线或上线后,发送对应的消息至注册中心;
所述处理单元具体用于判断所述可用性指标与所述下线阈值之间的关系,并根据所述关系对所述服务提供方进行下线以及上线处理。
从上述描述可知,本发明实施例提供的基于分布式服务的服务资源管控方法及装置,首先根据服务提供方可用的硬件资源以及软件资源确定可用性指标,接着,探测服务提供方的硬件以及软件资源是否可供使用,最后根据服务是否可用的判断结果并结合当前服务的状态进行服务的动态上/下线处理。本发明实施例在现有服务注册中心的负载均衡机制以外,在服务提供方内部额外建立一种能够通过自身临界资源的可用性判断的机制,并基于该机制的判断结果实现服务提供方端主动发起的基于服务提供方资源可用性的服务自适应下线与重新上线的方法。通过该方法可以弥补现有服务注册与请求管理的机制下服务可用性判断的不足,从而提高服务提供方对自身资源的可探知性,保证资源不足时主动避免响应服务请求,使得注册中心可以将服务负载到资源可用性更高的服务节点,提高整个服务集群响应服务的成功率。具有如下有益效果:
1、服务的注册与下线完全根据资源的可用性进行以及相应的参数配置进行自适应处理,注册中心无需额外改造。
2、支持服务级别的服务上/下线操作隔离,当一个服务提供方中同时提供多个服务时,可以针对单个服务进行上线或者下线操作,服务之间互相不影响。
综上,本发明实施例提供的方法以及装置能够支持服务提供方根据其自身的软、硬件资源的可用率,由服务提供方进行服务的自适应下线和上线,实现服务提供方的自隔离能力,保障服务提供方对服务请求的响应成功率。
本申请的实施例还提供能够实现上述实施例中的基于分布式服务的服务资源管控方法中全部步骤的一种电子设备的具体实施方式,参见图11,电子设备具体包括如下内容:
处理器(processor)1201、存储器(memory)1202、通信接口(CommunicationsInterface)1203和总线1204;
其中,处理器1201、存储器1202、通信接口1203通过总线1204完成相互间的通信;通信接口1203用于实现服务器端设备、接口设备以及用户端设备等相关设备之间的信息传输。
处理器1201用于调用存储器1202中的计算机程序,处理器执行计算机程序时实现上述实施例中的基于分布式服务的服务资源管控方法中的全部步骤,例如,处理器执行计算机程序时实现下述步骤:
步骤100:获取服务提供方可用的硬件资源以及软件资源。
步骤200:根据所述硬件资源以及所述软件资源确定可用性指标。
步骤300:根据所述可用性指标以及预设的下线阈值对所述服务提供方进行下线以及上线处理。
从上述描述可知,本申请实施例中的电子设备,首先根据服务提供方可用的硬件资源以及软件资源确定可用性指标,接着,探测服务提供方的硬件以及软件资源是否可供使用,最后根据服务是否可用的判断结果并结合当前服务的状态进行服务的动态上/下线处理。本发明实施例在现有服务注册中心的负载均衡机制以外,在服务提供方内部额外建立一种能够通过自身临界资源的可用性判断的机制,并基于该机制的判断结果实现服务提供方端主动发起的基于服务提供方资源可用性的服务自适应下线与重新上线的方法。通过该方法可以弥补现有服务注册与请求管理的机制下服务可用性判断的不足,从而提高服务提供方对自身资源的可探知性,保证资源不足时主动避免响应服务请求,使得注册中心可以将服务负载到资源可用性更高的服务节点,提高整个服务集群响应服务的成功率。具有如下有益效果:
1、服务的注册与下线完全根据资源的可用性进行以及相应的参数配置进行自适应处理,注册中心无需额外改造。
2、支持服务级别的服务上/下线操作隔离,当一个服务提供方中同时提供多个服务时,可以针对单个服务进行上线或者下线操作,服务之间互相不影响。
综上,本发明实施例提供的电子设备能够支持服务提供方根据其自身的软、硬件资源的可用率,由服务提供方进行服务的自适应下线和上线,实现服务提供方的自隔离能力,保障服务提供方对服务请求的响应成功率。
本申请的实施例还提供能够实现上述实施例中的基于分布式服务的服务资源管控方法中全部步骤的一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的基于分布式服务的服务资源管控方法的全部步骤,例如,处理器执行计算机程序时实现下述步骤:
步骤100:获取服务提供方可用的硬件资源以及软件资源。
步骤200:根据所述硬件资源以及所述软件资源确定可用性指标。
步骤300:根据所述可用性指标以及预设的下线阈值对所述服务提供方进行下线以及上线处理。
从上述描述可知,本申请实施例中的计算机可读存储介质,首先根据服务提供方可用的硬件资源以及软件资源确定可用性指标,接着,探测服务提供方的硬件以及软件资源是否可供使用,最后根据服务是否可用的判断结果并结合当前服务的状态进行服务的动态上/下线处理。本发明实施例在现有服务注册中心的负载均衡机制以外,在服务提供方内部额外建立一种能够通过自身临界资源的可用性判断的机制,并基于该机制的判断结果实现服务提供方端主动发起的基于服务提供方资源可用性的服务自适应下线与重新上线的方法。通过该方法可以弥补现有服务注册与请求管理的机制下服务可用性判断的不足,从而提高服务提供方对自身资源的可探知性,保证资源不足时主动避免响应服务请求,使得注册中心可以将服务负载到资源可用性更高的服务节点,提高整个服务集群响应服务的成功率。具有如下有益效果:
1、服务的注册与下线完全根据资源的可用性进行以及相应的参数配置进行自适应处理,注册中心无需额外改造。
2、支持服务级别的服务上/下线操作隔离,当一个服务提供方中同时提供多个服务时,可以针对单个服务进行上线或者下线操作,服务之间互相不影响。
综上,本发明实施例提供的计算机可读存储介质能够支持服务提供方根据其自身的软、硬件资源的可用率,由服务提供方进行服务的自适应下线和上线,实现服务提供方的自隔离能力,保障服务提供方对服务请求的响应成功率。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
虽然本申请提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种基于分布式服务的服务资源管控方法,其特征在于,包括:
获取服务提供方可用的硬件资源以及软件资源;
根据所述硬件资源以及所述软件资源确定可用性指标;
根据所述可用性指标以及预设的下线阈值对所述服务提供方进行下线以及上线处理。
2.如权利要求1所述的服务资源管控方法,其特征在于,所述硬件资源包括:内存使用率、CPU以及磁盘空间;所述软件资源包括:线程池、JVM、数据库连接池可用数据以及异步队列深度。
3.如权利要求2所述的服务资源管控方法,其特征在于,所述根据所述硬件资源以及所述软件资源确定可用性指标,包括:
根据所述内存使用率、CPU、磁盘空间、线程池、JVM、数据库连接池可用数据以及异步队列深度计算出所述服务提供方所能提供的各服务的可用性指标。
4.如权利要求1所述的服务资源管控方法,其特征在于,所述根据所述可用性指标以及预设的下线阈值对所述服务提供方进行下线以及上线处理,包括:
判断所述可用性指标与所述下线阈值之间的关系,并根据所述关系对所述服务提供方进行下线以及上线处理。
5.如权利要求1所述的服务资源管控方法,其特征在于,还包括:
当所述服务提供方下线或上线后,发送对应的消息至注册中心。
6.一种基于分布式服务的服务资源管控装置,其特征在于,包括:
资源获取单元,用于获取服务提供方可用的硬件资源以及软件资源;
可用性指标确定单元,用于根据所述硬件资源以及所述软件资源确定可用性指标;
处理单元,用于根据所述可用性指标以及预设的下线阈值对所述服务提供方进行下线以及上线处理;所述硬件资源包括:内存使用率、CPU以及磁盘空间;所述软件资源包括:线程池、JVM、数据库连接池可用数据以及异步队列深度。
7.如权利要求6所述的服务资源管控装置,其特征在于,所述可用性指标确定单元具体用于根据所述内存使用率、CPU、磁盘空间、线程池、JVM、数据库连接池可用数据以及异步队列深度计算出所述服务提供方所能提供的各服务的可用性指标。
8.如权利要求6所述的服务资源管控装置,其特征在于,还包括:
消息发送单元,用于当所述服务提供方下线或上线后,发送对应的消息至注册中心;
所述处理单元具体用于判断所述可用性指标与所述下线阈值之间的关系,并根据所述关系对所述服务提供方进行下线以及上线处理。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任一所述的基于分布式服务的服务资源管控方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至5任一所述基于分布式服务的服务资源管控方法的计算机程序。
CN202010331472.0A 2020-04-24 2020-04-24 基于分布式服务的服务资源管控方法及装置 Pending CN111522664A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010331472.0A CN111522664A (zh) 2020-04-24 2020-04-24 基于分布式服务的服务资源管控方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010331472.0A CN111522664A (zh) 2020-04-24 2020-04-24 基于分布式服务的服务资源管控方法及装置

Publications (1)

Publication Number Publication Date
CN111522664A true CN111522664A (zh) 2020-08-11

Family

ID=71904464

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010331472.0A Pending CN111522664A (zh) 2020-04-24 2020-04-24 基于分布式服务的服务资源管控方法及装置

Country Status (1)

Country Link
CN (1) CN111522664A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114995974A (zh) * 2022-05-26 2022-09-02 壹沓科技(上海)有限公司 任务调度方法、装置、存储介质及计算机设备
WO2022193659A1 (zh) * 2021-03-15 2022-09-22 京东方科技集团股份有限公司 应用实例的上下线控制方法、装置及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2874062A1 (en) * 2013-11-14 2015-05-20 Alcatel Lucent Distributed computing unit, system and respective method
US20150347245A1 (en) * 2014-05-28 2015-12-03 International Business Machines Corporation Determining an availability score based on available resources of different resource types in a distributed computing environment of storage servers to determine whether to perform a failure operation for one of the storage servers
CN105631196A (zh) * 2015-12-22 2016-06-01 中国科学院软件研究所 一种面向微服务架构的容器级弹性资源供给系统及方法
CN107592219A (zh) * 2017-09-04 2018-01-16 北京潘达互娱科技有限公司 服务降级处理方法及装置
CN109561134A (zh) * 2018-10-26 2019-04-02 平安科技(深圳)有限公司 电子装置、分布式集群服务分配方法及存储介质
CN109684073A (zh) * 2018-10-26 2019-04-26 平安科技(深圳)有限公司 电子装置、云服务资源分配方法及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2874062A1 (en) * 2013-11-14 2015-05-20 Alcatel Lucent Distributed computing unit, system and respective method
US20150347245A1 (en) * 2014-05-28 2015-12-03 International Business Machines Corporation Determining an availability score based on available resources of different resource types in a distributed computing environment of storage servers to determine whether to perform a failure operation for one of the storage servers
CN105631196A (zh) * 2015-12-22 2016-06-01 中国科学院软件研究所 一种面向微服务架构的容器级弹性资源供给系统及方法
CN107592219A (zh) * 2017-09-04 2018-01-16 北京潘达互娱科技有限公司 服务降级处理方法及装置
CN109561134A (zh) * 2018-10-26 2019-04-02 平安科技(深圳)有限公司 电子装置、分布式集群服务分配方法及存储介质
CN109684073A (zh) * 2018-10-26 2019-04-26 平安科技(深圳)有限公司 电子装置、云服务资源分配方法及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022193659A1 (zh) * 2021-03-15 2022-09-22 京东方科技集团股份有限公司 应用实例的上下线控制方法、装置及存储介质
CN114995974A (zh) * 2022-05-26 2022-09-02 壹沓科技(上海)有限公司 任务调度方法、装置、存储介质及计算机设备

Similar Documents

Publication Publication Date Title
US20190377604A1 (en) Scalable function as a service platform
US8095935B2 (en) Adapting message delivery assignments with hashing and mapping techniques
EP2186012B1 (en) Executing programs based on user-specified constraints
CN115328663B (zh) 基于PaaS平台进行资源调度的方法、装置、设备和存储介质
US9317334B2 (en) Multilevel multipath widely distributed computational node scenarios
US11915049B2 (en) Method and apparatus for scaling a custom resource with custom metrics in a containerized application handling system
US20100169477A1 (en) Systems and methods for dynamically provisioning cloud computing resources
CN108881512B (zh) Ctdb的虚拟ip均衡分配方法、装置、设备及介质
CN107534570A (zh) 虚拟化网络功能监控
US10250482B2 (en) Distributed task execution in different locations with dynamic formation of testing groups
Metawei et al. Load balancing in distributed multi-agent computing systems
CN111858054A (zh) 一种异构环境下基于边缘计算的资源调度系统及方法
US11093288B2 (en) Systems and methods for cluster resource balancing in a hyper-converged infrastructure
US10880367B2 (en) Load balancing stretched clusters in a distributed network
US20230037293A1 (en) Systems and methods of hybrid centralized distributive scheduling on shared physical hosts
CN111522664A (zh) 基于分布式服务的服务资源管控方法及装置
CN109960579B (zh) 一种调整业务容器的方法及装置
CN112187864A (zh) 负载均衡方法、装置、存储介质及电子设备
CN109426544A (zh) 虚拟机部署方法和装置
CN115827148A (zh) 一种资源管理方法、装置、电子设备及存储介质
WO2014159474A2 (en) Software product instance placement
CN113535402A (zh) 基于5g mec的负载均衡处理方法、装置及电子设备
US10860347B1 (en) Virtual machine with multiple content processes
CN112346853A (zh) 用于分布应用的方法和设备
US11872497B1 (en) Customer-generated video game player matchmaking in a multi-tenant environment

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200811

RJ01 Rejection of invention patent application after publication