CN108683557B - 微服务健康度评估方法、弹性伸缩方法及架构 - Google Patents

微服务健康度评估方法、弹性伸缩方法及架构 Download PDF

Info

Publication number
CN108683557B
CN108683557B CN201810401509.5A CN201810401509A CN108683557B CN 108683557 B CN108683557 B CN 108683557B CN 201810401509 A CN201810401509 A CN 201810401509A CN 108683557 B CN108683557 B CN 108683557B
Authority
CN
China
Prior art keywords
service
value
health
health value
instance
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
Application number
CN201810401509.5A
Other languages
English (en)
Other versions
CN108683557A (zh
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.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
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 South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN201810401509.5A priority Critical patent/CN108683557B/zh
Publication of CN108683557A publication Critical patent/CN108683557A/zh
Application granted granted Critical
Publication of CN108683557B publication Critical patent/CN108683557B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • 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/5083Techniques for rebalancing the load in a distributed system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Environmental & Geological Engineering (AREA)
  • Medical Treatment And Welfare Office Work (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了微服务健康度评估方法、弹性伸缩方法及架构,微服务健康度评估方法包括:根据服务中每个服务实例的请求错误比例确定每个服务实例的实例健康值;根据服务中每个服务实例的运行环境的CPU使用率以及SWAP占用确定每个服务实例的环境健康值;根据所述每个服务实例的实例健康值和环境健康值确定每个服务实例的综合健康值;将所述服务中所有综合健康值中的最小值作为所述服务的服务健康值。本发明能够更直观地表示微服务的健康程度,对服务的健康程度评价更全面,能够实现按需申请资源,有效降低了资源消耗,显著降低了人工成本。

Description

微服务健康度评估方法、弹性伸缩方法及架构
技术领域
本发明属于微服务管理技术领域,具体涉及微服务健康度评估方法、弹性伸缩方法及架构。
背景技术
微服务是一种软件架构风格,它是以专注于单一责任与功能的小型功能区块为基础,利用模组化的方式组合出复杂的大型应用程序,各功能区块使用与语言无关的API集相互通讯。
微服务架构的系统运行过程中可以收集到微服务自身的监控数据和微服务运行环境的监控数据,目前对监控数据只是进行展示,各种的数据并不能直观地反映微服务的健康程度:
1、微服务运行环境的监控数据或者微服务自身的监控数据并不能全面地表示微服务的健康程度。
2、众多监控数据参数,如CPU使用率、内存占用、磁盘读写、请求频率、接入流量、错误比例等,增加了对微服务健康程度形成直观判断的难度。
3、人工通过查看系统的监控数据才能定位存在异常的服务或者系统瓶颈,增加系统运维的人工成本。
4、系统自身无法判断某个服务的健康程度,因而不能自动的实现服务的拓展,即在服务负载升高接近瓶颈时自动申请新的资源部署新的服务实例,也不能在服务资源过剩时回收服务实例。
发明内容
针对现有技术中所存在的不足,本发明提供了一种能够更直观地表示微服务的健康程度、对服务的健康程度评价更全面、能够实现按需申请资源、有效降低资源消耗、显著降低了人工成本的微服务健康度评估方法、弹性伸缩方法及架构。
微服务健康度评估方法,包括如下步骤:
根据服务中每个服务实例的请求错误比例确定每个服务实例的实例健康值;
根据服务中每个服务实例的运行环境的CPU使用率以及SWAP占用确定每个服务实例的环境健康值;
根据所述每个服务实例的实例健康值和环境健康值确定每个服务实例的综合健康值;
将所述服务中所有综合健康值中的最小值作为所述服务的服务健康值。
进一步地,所述实例健康值Hi=100-F,其中F是请求错误比例。
进一步地,所述环境健康值He由如下公式得到:
Figure BDA0001645834980000021
Figure BDA0001645834980000022
Kc+Ks=1;
其中su是SWAP分区占用的容量,S是SWAP分区总容量,C是关于CPU使用率cu的分段函数,Kc和Ks分别是CPU占用率和SWAP占用的权值。
进一步地,所述综合健康值h由如下公式得到:
h=kiHi+keHe
ki+ke=1;
其中,ki和ke分别是实例健康值和环境健康值的权值。
进一步地,所述服务健康值
Figure BDA0001645834980000023
其中n为所述服务中服务实例的数量。
微服务弹性伸缩架构,包括前述任一种微服务健康度评估方法,具体包括:
服务模块:包括多个由服务实例和所述服务实例的运行环境构成的服务节点,所述服务节点在根据相应请求处理业务的同时,会将服务实例和运行环境的监控数据发送到监控模块;
负载均衡模块:用于根据预设的均衡策略将请求分配到服务节点上;
监控模块:用于收集服务模块发送来的监控数据并计算实例健康值、环境健康值以及服务健康值,然后将计算得到的所述健康值发送到节点管理模块;
节点管理模块:用于为实例健康值设定期望范围下限值,为环境健康值设定期望范围下限值,为服务健康值设定期望范围上限值及下限值;还包括:
节点部署模块,用于在所述服务健康值低于期望范围下限值时、在所述服务健康值处于期望范围上限值及下限值之间且有服务实例的实例健康值低于期望范围下限值时、在所述服务健康值处于期望范围上限值及下限值之间且有服务实例的环境健康值低于期望范围下限值时部署新的服务节点;
节点回收模块,用于在所述服务健康值高于期望范围上限值时回收服务节点,在所述服务健康值处于期望范围上限值及下限值之间且有服务实例的实例健康值低于期望范围下限值时、在所述服务健康值处于期望范围上限值及下限值之间且有服务实例的环境健康值低于期望范围下限值时回收所述服务实例的服务节点;
所述监控数据包括请求错误比例F、CPU使用率cu、SWAP分区占用的容量su
进一步地,所述节点回收模块在所述服务健康值高于期望范围上限值时回收综合健康值最低的服务节点。
微服务弹性伸缩方法,包括前述任一种微服务健康度评估方法,以及为实例健康值设定的期望范围下限值、为环境健康值设定的期望范围下限值、为服务健康值设定的期望范围上限值及下限值,具体包括如下步骤:
S210:判断服务健康值是否低于期望范围下限值,若是则执行步骤S220,否则执行步骤S230;
S220:部署新的服务节点,返回执行S210;
S230:判断服务健康值是否高于期望范围上限值,若是则执行步骤S240,否则执行步骤S250;
S240:回收服务节点,返回执行S210;
S250:判断是否存在服务实例的实例健康值低于期望范围下限值,若是则执行步骤S260,否则执行步骤S270;
S260:部署新的服务节点,回收所述实例健康值低于期望范围下限值的服务节点,返回执行S210;
S270:判断是否存在服务实例的环境健康值低于期望范围下限值,若是则执行步骤S280,否则返回执行步骤210;
S280:部署新的服务节点,回收所述环境健康值低于期望范围下限值的服务节点,返回执行S210。
进一步地,所述步骤S240中回收的服务节点优先选择综合健康值最低的。
相比于现有技术,本发明具有如下有益效果:
1、本发明引入了健康值的概念,通过请求错误比例、CPU使用率以及SWAP占用等监控数据设定实例健康值、环境健康值、综合健康值以及服务健康值,相对于原始监控数据,能够更为直观地表示微服务的健康程度;又由于服务健康值综合考虑了服务实例和服务的运行环境,对服务的健康程度评估更为全面;还通过设定指标的重视倾向来优化对健康程度的判断,可根据不同的运行目标和状况进行调整,提高服务的适应性;
2、通过计算得到健康值,系统可对微服务健康程度进行判断,根据健康值设定上下限阈值对系统本身进行拓展或回收过剩的资源,实现按需申请资源,可以有效降低资源消耗;
3、实现了系统自愈性,无需人工查看系统的监控数据来定位存在异常的服务或者系统瓶颈,在保持系统高可用的同时显著降低了系统运维过程中所需的人工成本。
附图说明
图1为本发明微服务健康度评估方法的流程示意框图;
图2为本发明微服务健康度评估方法的示意图;
图3为本发明微服务弹性伸缩架构的结构示意图;
图4为本发明微服务弹性伸缩方法的流程示意框图。
具体实施方式
为了使发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
微服务健康度评估方法,如图1、2所示,包括如下步骤:
S110:根据服务中每个服务实例的请求错误比例确定每个服务实例的实例健康值;
S120:根据服务中每个服务实例的运行环境的CPU使用率以及SWAP占用确定每个服务实例的环境健康值;
S130:根据所述每个服务实例的实例健康值和环境健康值确定每个服务实例的综合健康值;
S140:将所述服务中所有综合健康值中的最小值作为所述服务的服务健康值。
所述请求错误比例、CPU使用率以及SWAP占用都来自监控数据。所述步骤S110和S120并没有明确的顺序之分,可以同时进行也可以交换顺序。
实例健康值,即服务实例的健康值,用于评估服务实例自身的健康程度。对服务实例的监控可以收集到接入的流量变化、请求成功数、请求超时数、请求短路/熔断数以及请求错误比例等数据。在微服务架构中请求会负载均衡到各个服务实例进行处理,由于当请求错误比例高的时候,会大大降低系统的可用性,因此本方案选取请求错误比例作为评估服务实例的唯一标准。
环境健康值,即服务实例运行环境的健康值,用于评估服务实例运行环境的健康程度。运行环境即服务实例部署运行的环境,绝大多数情况下为Linux系统,对Linux系统的监控可以获取其CPU使用率、内存占用、磁盘IO等数据。鉴于Linux内存占用会一直比较高,而并不是所有系统都会发生磁盘IO,所以选取CPU使用率和SWAP占用作为评估标准。
综合健康值,即综合服务实例健康值,用于评估服务的健康程度。在考虑是否要新增、回收、替换某个服务实例时,需要综合考虑服务实例和实例运行环境的健康程度。
服务健康值,用于评估整个服务的健康程度。由于在微服务架构系统内,一个服务通常会部署多个服务实例,且由于综合健康值是服务的最小短板,也是服务的瓶颈所在,因此本发明选择同一服务中综合健康值的最小值作为服务健康值来评估整个服务的健康程度。当服务中仅有一个服务实例时,所述服务健康值也就是综合健康值。
本发明引入了健康值的概念,通过请求错误比例、CPU使用率以及SWAP占用等监控数据设定实例健康值、环境健康值、综合健康值以及服务健康值,相对于原始监控数据,能够更为直观地表示微服务的健康程度;又由于服务健康值综合考虑了服务实例和服务的运行环境,对服务的健康程度评估更为全面。
作为进一步优化,所述步骤S110中的实例健康值Hi=100-F,其中F是指通过监控得到的请求错误比例。请求错误比例是一个百分比数,如10%,而通过监控收集到的数据F则为10。
作为进一步优化,所述步骤S120中的环境健康值He由如下公式得到:
Figure BDA0001645834980000051
Figure BDA0001645834980000052
Kc+Ks=1;
其中su是SWAP分区占用的容量,S是SWAP分区总容量,C是关于CPU使用率cu的分段函数,Kc和Ks分别是CPU占用率和SWAP占用的权值。
所述权值可根据具体情况进行预设或调整,权值越大代表越重视其指标;对于某些较为依赖的CPU的服务,可以设置Kc较大,健康值对于CPU的使用会比较敏感;对于某些较为依赖SWAP的服务,可以设置Ks较大,健康值对于SWAP的占用会比较敏感。
作为进一步优化,所述步骤S130中的综合健康值h由如下公式得到:
h=kiHi+keHe
ki+ke=1;
其中,ki和ke分别是实例健康值和环境健康值的权值。
所述权值可根据具体情况进行预设或调整,权值越大代表越重视其指标;对于请求频率高的服务可以设置较大的ki,因为即使较小的错误比例在高请求频率的情况下错误次数也会很多,这是不能忍受的;而对于请求频率低的服务设置ke较大,能够知道服务运行的性能消耗。
作为进一步优化,所述步骤S140中的服务健康值
Figure BDA0001645834980000061
其中n为所述服务中服务实例的数量。服务健康值选择所述服务的所有服务实例中的最小综合健康值。
微服务弹性伸缩架构,如图3所示,包括前述任一种微服务健康度评估方法,具体包括:
服务模块:包括多个由服务实例和所述服务实例的运行环境构成的服务节点,所述服务节点在根据相应请求处理业务的同时,会将服务实例和运行环境的监控数据发送到监控模块;
负载均衡模块:用于根据预设的均衡策略将请求分配到服务节点上;
监控模块:用于收集服务模块发送来的监控数据并计算实例健康值、环境健康值以及服务健康值(即执行所述微服务健康度评估方法),然后将计算得到的所述健康值发送到节点管理模块;
节点管理模块:用于为实例健康值设定期望范围下限值,为环境健康值设定期望范围下限值,为服务健康值设定期望范围上限值及下限值;还包括:
节点部署模块,用于在所述服务健康值低于期望范围下限值时、在所述服务健康值处于期望范围上限值及下限值之间且有服务实例的实例健康值低于期望范围下限值时、在所述服务健康值处于期望范围上限值及下限值之间且有服务实例的环境健康值低于期望范围下限值时部署新的服务节点;
节点回收模块,用于在所述服务健康值高于期望范围上限值时回收服务节点,在所述服务健康值处于期望范围上限值及下限值之间且有服务实例的实例健康值低于期望范围下限值时、在所述服务健康值处于期望范围上限值及下限值之间且有服务实例的环境健康值低于期望范围下限值时回收所述服务实例的服务节点;
所述监控数据包括请求错误比例F、CPU使用率cu、SWAP分区占用的容量su
所述微服务健康度评估方法中的计算操作在所述监控模块中进行,其中S110和S120并没有明确的顺序之分,可以同时进行也可以交换顺序。
作为进一步优化,所述节点回收模块在所述服务健康值高于期望范围上限值时回收综合健康值最低的服务节点。
在这种情况下,负载均衡策略使得每个服务实例的负载大小或接入请求的数量是基本一样的,相差并不会很大,因而可以推断服务健康值的不同取决于运行环境健康值影响,综合健康值低可能反映较差的运行环境性能,此时回收综合健康值最低的服务节点相对来说会比较好。
微服务弹性伸缩方法,如图4所示,包括前述任一种微服务健康度评估方法,以及为实例健康值设定的期望范围下限值、为环境健康值设定的期望范围下限值、为服务健康值设定的期望范围上限值及下限值,具体包括如下步骤:
S210:判断服务健康值是否低于服务健康值期望范围下限值,若是则执行步骤S220,否则执行步骤S230;
S220:部署新的服务节点,返回执行S210;
S230:判断服务健康值是否高于服务健康值期望范围上限值,若是则执行步骤S240,否则执行步骤S250;
S240:回收服务节点,返回执行S210;
S250:判断是否存在服务实例的实例健康值低于期望范围下限值,若是则执行步骤S260,否则执行步骤S270;
S260:部署新的服务节点,回收所述实例健康值低于期望范围下限值的服务节点,返回执行S210;
S270:判断是否存在服务实例的环境健康值低于期望范围下限值,若是则执行步骤S280,否则返回执行步骤210;
S280:部署新的服务节点,回收所述环境健康值低于期望范围下限值的服务节点,返回执行S210。
本发明分别定义了Hi和He的期望范围,当它们不在期望范围内的时候,可以认为它们运行存在异常;请求进行负载均衡后,各个服务实例以及服务器的负载应该是几乎一样的(一个服务器部署一个服务实例,docker容器部署服务实例同样适用),因而各个服务实例计算得到的Hi相差很小,He也相差很小,则当其中出现Hi或He偏离了其他的Hi或He值时,可以认为服务实例或者运行环境出现异常。定位到存在问题的服务实例,可以部署新的服务实例替换原有异常服务实例,而对于存在问题的运行环境,需要根据实际问题制定策略,如果服务实例部署在docker容器内,服务实例在替换的同时也替换了其运行环境。
本发明在微服务架构系统中,还定义了服务健康值Hs的期望健康值范围,当计算得到的服务健康值小于期望健康值范围下限时,可以认为系统需要进行扩展,需要部署新的服务实例;当计算得到的服务健康值大于期望健康值上限时,可以认为服务实例的数量过多,资源过剩了,需要回收服务实例,选取h值最小的服务实例进行回收。
本发明通过计算得到健康值,系统可对微服务健康程度进行判断,根据健康值设定上下限阈值对系统本身进行拓展或回收过剩的资源,实现按需申请资源,有效降低了资源消耗;还实现了系统自愈性,无需人工查看系统的监控数据来定位存在异常的服务或者系统瓶颈,在保持系统高可用的同时显著降低了系统运维过程中所需的人工成本。
作为进一步优化,所述步骤S240中回收的服务节点优先选择综合健康值最低的。
以下通过具体的实施例来对本发明进行进一步说明:
一种微服务弹性伸缩架构,如图3所示,当接收到调用特定服务的请求时,路由模块将请求路由到服务中;
监控模块收集到的监控数据包括服务实例的请求错误比例、运行环境(以Linux操作系统为例子)的CPU使用率和SWAP占用量。
假设图2中的三个服务实例的请求错误比例分别为0、5、7,则实例健康值分别为:
Hi1=100-0=100,
Hi2=100-5=95,
Hi3=100-7=93;
假设CPU使用率分别为50、47、60,SWAP占用比例为0、5、0,对两项指标同样重视,即Kc=Ks=0.5,则环境健康值:
cu1=50,cu2=47,cu3=60;
He1=0.5×50+0.5×100=75,
He2=0.5×47+0.5×95=71,
He3=0.5×60+0.5×100=80;
假设对服务的评估过程中,对实例的健康程度和运行环境的健康程度两项指标同样重视,即ki=ke=0.5,则:
h1=0.5×100+0.5×75=87.5,
h2=0.5×95+0.5×71=83,
h3=0.5×93+0.5×80=86.5;
则服务健康值:
Figure BDA0001645834980000081
上面Kc、Ks、ki和ke的选取只是作为例子,应用到微服务架构系统中应根据实际情况进行选取。
以上所述仅为本发明的优选实施方式,本发明的保护范围并不仅限于上述实施方式,凡是属于本发明原理的技术方案均属于本发明的保护范围。对于本领域的技术人员而言,在不脱离本发明的原理的前提下进行的若干改进,这些改进也应视为本发明的保护范围。

Claims (8)

1.微服务健康度评估方法,其特征在于,包括如下步骤:
根据服务中每个服务实例的请求错误比例确定每个服务实例的实例健康值;
根据服务中每个服务实例的运行环境的CPU使用率以及SWAP占用确定每个服务实例的环境健康值;
根据所述每个服务实例的实例健康值和环境健康值确定每个服务实例的综合健康值;
将所述服务中所有综合健康值中的最小值作为所述服务的服务健康值;
所述环境健康值He由如下公式得到:
Figure FDA0003283024580000011
Figure FDA0003283024580000012
Kc+Ks=1;
其中su是SWAP分区占用的容量,S是SWAP分区总容量,C是关于CPU使用率cu的分段函数,Kc和Ks分别是CPU占用率和SWAP占用的权值。
2.根据权利要求1所述的微服务健康度评估方法,其特征在于:
所述实例健康值Hi=100-F,其中F是请求错误比例。
3.根据权利要求2所述的微服务健康度评估方法,其特征在于:
所述综合健康值h由如下公式得到:
h=kiHi+keHe
ki+ke=1;
其中,ki和ke分别是实例健康值和环境健康值的权值。
4.根据权利要求3所述的微服务健康度评估方法,其特征在于:
所述服务健康值
Figure FDA0003283024580000013
其中n为所述服务中服务实例的数量。
5.微服务弹性伸缩架构,其特征在于:用于执行权利要求1~4任一项所述的微服务健康度评估方法,具体包括:
服务模块:包括多个由服务实例和所述服务实例的运行环境构成的服务节点,所述服务节点在根据相应请求处理业务的同时,会将服务实例和运行环境的监控数据发送到监控模块;
负载均衡模块:用于根据预设的均衡策略将请求分配到服务节点上;
监控模块:用于收集服务模块发送来的监控数据并计算实例健康值、环境健康值以及服务健康值,然后将计算得到的所述健康值发送到节点管理模块;
节点管理模块:用于为实例健康值设定期望范围下限值,为环境健康值设定期望范围下限值,为服务健康值设定期望范围上限值及下限值;还包括:
节点部署模块,用于在所述服务健康值低于期望范围下限值时、在所述服务健康值处于期望范围上限值及下限值之间且有服务实例的实例健康值低于期望范围下限值时、在所述服务健康值处于期望范围上限值及下限值之间且有服务实例的环境健康值低于期望范围下限值时部署新的服务节点;
节点回收模块,用于在所述服务健康值高于期望范围上限值时回收服务节点,在所述服务健康值处于期望范围上限值及下限值之间且有服务实例的实例健康值低于期望范围下限值时、在所述服务健康值处于期望范围上限值及下限值之间且有服务实例的环境健康值低于期望范围下限值时回收所述服务实例的服务节点;
所述监控数据包括请求错误比例F、CPU使用率cu、SWAP分区占用的容量su
6.根据权利要求5所述的微服务弹性伸缩架构,其特征在于:
所述节点回收模块在所述服务健康值高于期望范围上限值时回收综合健康值最低的服务节点。
7.微服务弹性伸缩方法,其特征在于,包括权利要求1~4任一项所述的微服务健康度评估方法,以及为实例健康值设定的期望范围下限值、为环境健康值设定的期望范围下限值、为服务健康值设定的期望范围上限值及下限值,具体包括如下步骤:
S210:判断服务健康值是否低于期望范围下限值,若是则执行步骤S220,否则执行步骤S230;
S220:部署新的服务节点,返回执行S210;
S230:判断服务健康值是否高于期望范围上限值,若是则执行步骤S240,否则执行步骤S250;
S240:回收服务节点,返回执行S210;
S250:判断是否存在服务实例的实例健康值低于期望范围下限值,若是则执行步骤S260,否则执行步骤S270;
S260:部署新的服务节点,回收所述实例健康值低于期望范围下限值的服务节点,返回执行S210;
S270:判断是否存在服务实例的环境健康值低于期望范围下限值,若是则执行步骤S280,否则返回执行步骤210;
S280:部署新的服务节点,回收所述环境健康值低于期望范围下限值的服务节点,返回执行S210。
8.根据权利要求7所述的微服务弹性伸缩方法,其特征在于:
所述步骤S240中回收的服务节点优先选择综合健康值最低的。
CN201810401509.5A 2018-04-28 2018-04-28 微服务健康度评估方法、弹性伸缩方法及架构 Active CN108683557B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810401509.5A CN108683557B (zh) 2018-04-28 2018-04-28 微服务健康度评估方法、弹性伸缩方法及架构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810401509.5A CN108683557B (zh) 2018-04-28 2018-04-28 微服务健康度评估方法、弹性伸缩方法及架构

Publications (2)

Publication Number Publication Date
CN108683557A CN108683557A (zh) 2018-10-19
CN108683557B true CN108683557B (zh) 2022-03-18

Family

ID=63802747

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810401509.5A Active CN108683557B (zh) 2018-04-28 2018-04-28 微服务健康度评估方法、弹性伸缩方法及架构

Country Status (1)

Country Link
CN (1) CN108683557B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110990245A (zh) * 2019-12-04 2020-04-10 北京明略软件系统有限公司 基于调用链数据的微服务运行状态判断方法及装置
CN111698301A (zh) * 2020-05-29 2020-09-22 成都新希望金融信息有限公司 一种保证服务延续的服务管理方法、装置及存储介质
CN112714014B (zh) * 2020-12-23 2022-07-12 新华三云计算技术有限公司 一种微服务架构故障点发现方法及装置
CN113285857B (zh) * 2021-07-26 2021-12-21 之江实验室 一种面向物联网异构物体的微服务匹配方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104331328A (zh) * 2013-07-22 2015-02-04 中国电信股份有限公司 虚拟资源调度方法和虚拟资源调度装置
CN105933448A (zh) * 2016-06-29 2016-09-07 江苏电力信息技术有限公司 一种自管理的微服务架构及其服务方法
CN106789189A (zh) * 2016-12-05 2017-05-31 深圳市彬讯科技有限公司 一种soa服务实时监控上报与性能度量系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9244801B2 (en) * 2014-03-31 2016-01-26 International Business Machines Corporation Increasing the accuracy of service quality management metrics

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104331328A (zh) * 2013-07-22 2015-02-04 中国电信股份有限公司 虚拟资源调度方法和虚拟资源调度装置
CN105933448A (zh) * 2016-06-29 2016-09-07 江苏电力信息技术有限公司 一种自管理的微服务架构及其服务方法
CN106789189A (zh) * 2016-12-05 2017-05-31 深圳市彬讯科技有限公司 一种soa服务实时监控上报与性能度量系统

Also Published As

Publication number Publication date
CN108683557A (zh) 2018-10-19

Similar Documents

Publication Publication Date Title
CN108683557B (zh) 微服务健康度评估方法、弹性伸缩方法及架构
CN107770096B (zh) 一种基于负载均衡的sdn/nfv网络动态资源分配方法
CN112153700B (zh) 一种网络切片资源管理方法及设备
CN102694868B (zh) 一种集群系统实现及任务动态分配方法
CN107562531B (zh) 一种数据均衡方法和装置
CN112988398B (zh) 一种微服务动态伸缩及迁移方法和装置
CN108512890B (zh) 一种基于机架感知的容器云平台资源调度方法及系统
CN108234356B (zh) 基于应用关系网络的最优化应用资源分布策略
CN112506659A (zh) 一种边缘设备的管理方法以及相关装置
CN107426003B (zh) 一种故障检测方法及装置
JP6664812B2 (ja) 仮想資源自動選択システム及び方法
TWI725744B (zh) 透過多層次相關性建立系統資源預測及資源管理模型的方法
CN106681839B (zh) 弹性计算动态分配方法
CN111381928B (zh) 一种虚拟机迁移方法、云计算管理平台和存储介质
CN105426271A (zh) 对分布式存储系统的锁管理的方法和装置
CN114637650B (zh) 一种基于Kubernetes集群的弹性伸缩方法
WO2013018288A1 (ja) 計算機およびリソース検索方法
CN102223254A (zh) 监控系统及方法
JP2011048757A (ja) 分散処理型シミュレータ
CN110896344B (zh) 一种冗余服务部署方法及装置
CN113132176A (zh) 一种控制边缘节点的方法、节点及边缘计算系统
CN102546652B (zh) 一种服务器负载平衡系统及方法
CN106899659B (zh) 分布式系统及其管理方法和管理装置
CN111143033B (zh) 基于可伸缩操作系统的操作执行方法及装置
CN108092790B (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