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

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

【技术实现步骤摘要】
微服务健康度评估方法、弹性伸缩方法及架构
本专利技术属于微服务管理
,具体涉及微服务健康度评估方法、弹性伸缩方法及架构。
技术介绍
微服务是一种软件架构风格,它是以专注于单一责任与功能的小型功能区块为基础,利用模组化的方式组合出复杂的大型应用程序,各功能区块使用与语言无关的API集相互通讯。微服务架构的系统运行过程中可以收集到微服务自身的监控数据和微服务运行环境的监控数据,目前对监控数据只是进行展示,各种的数据并不能直观地反映微服务的健康程度:1、微服务运行环境的监控数据或者微服务自身的监控数据并不能全面地表示微服务的健康程度。2、众多监控数据参数,如CPU使用率、内存占用、磁盘读写、请求频率、接入流量、错误比例等,增加了对微服务健康程度形成直观判断的难度。3、人工通过查看系统的监控数据才能定位存在异常的服务或者系统瓶颈,增加系统运维的人工成本。4、系统自身无法判断某个服务的健康程度,因而不能自动的实现服务的拓展,即在服务负载升高接近瓶颈时自动申请新的资源部署新的服务实例,也不能在服务资源过剩时回收服务实例。
技术实现思路
针对现有技术中所存在的不足,本专利技术提供了一种能够更直观地表示微服务的健康程度、对服务的健康程度评价更全面、能够实现按需申请资源、有效降低资源消耗、显著降低了人工成本的微服务健康度评估方法、弹性伸缩方法及架构。微服务健康度评估方法,包括如下步骤:根据服务中每个服务实例的请求错误比例确定每个服务实例的实例健康值;根据服务中每个服务实例的运行环境的CPU使用率以及SWAP占用确定每个服务实例的环境健康值;根据所述每个服务实例的实例健康值和环境健康值确定每个服务实例的综合健康值;将所述服务中所有综合健康值中的最小值作为所述服务的服务健康值。进一步地,所述实例健康值Hi=100-F,其中F是请求错误比例。进一步地,所述环境健康值He由如下公式得到:Kc+Ks=1;其中su是SWAP分区占用的容量,S是SWAP分区总容量,C是关于CPU使用率cu的分段函数,Kc和Ks分别是CPU占用率和SWAP占用的权值。进一步地,所述综合健康值h由如下公式得到:h=kiHi+keHe,ki+ke=1;其中,ki和ke分别是实例健康值和环境健康值的权值。进一步地,所述服务健康值其中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并没有明确的顺序之分,可以同时进行也可以交换顺序。实例健康值,即服务实例的健康值,用于评估服务实例自身的健康程度。对服务实例的监控可以收集到接入的流量变化、请求成功数、请求超时数、请求短路/熔断数以及请求错误比例等数据。在微服务架构中请求会负载均衡到各个服务实例进行处理,由于当请求错误比例高的时候,会大大降低系统的可用性,因此本方案选取请求错误比例作为评估服务实例的唯一标准。环境健本文档来自技高网...

【技术保护点】
1.微服务健康度评估方法,其特征在于,包括如下步骤:根据服务中每个服务实例的请求错误比例确定每个服务实例的实例健康值;根据服务中每个服务实例的运行环境的CPU使用率以及SWAP占用确定每个服务实例的环境健康值;根据所述每个服务实例的实例健康值和环境健康值确定每个服务实例的综合健康值;将所述服务中所有综合健康值中的最小值作为所述服务的服务健康值。

【技术特征摘要】
1.微服务健康度评估方法,其特征在于,包括如下步骤:根据服务中每个服务实例的请求错误比例确定每个服务实例的实例健康值;根据服务中每个服务实例的运行环境的CPU使用率以及SWAP占用确定每个服务实例的环境健康值;根据所述每个服务实例的实例健康值和环境健康值确定每个服务实例的综合健康值;将所述服务中所有综合健康值中的最小值作为所述服务的服务健康值。2.根据权利要求1所述的微服务健康度评估方法,其特征在于:所述实例健康值Hi=100-F,其中F是请求错误比例。3.根据权利要求2所述的微服务健康度评估方法,其特征在于:所述环境健康值He由如下公式得到:Kc+Ks=1;其中su是SWAP分区占用的容量,S是SWAP分区总容量,C是关于CPU使用率cu的分段函数,Kc和Ks分别是CPU占用率和SWAP占用的权值。4.根据权利要求3所述的微服务健康度评估方法,其特征在于:所述综合健康值h由如下公式得到:h=kiHi+keHe,ki+ke=1;其中,ki和ke分别是实例健康值和环境健康值的权值。5.根据权利要求4所述的微服务健康度评估方法,其特征在于:所述服务健康值其中n为所述服务中服务实例的数量。6.微服务弹性伸缩架构,其特征在于:包括权利要求1~5任一项所述的微服务健康度评估方法,具体包括:服务模块:包括多个由服务实例和所述服务实例的运行环境构成的服务节点,所述服务节点在根据相应请求处理业务的同时,会将服务实例和运行环境的监控数据发送到监控模块;负载均衡模块:用于根据预设的均衡策略将请求分配到服务节点上;监控模块:用于收集服务模块发送来的监控数据并计算实例健康值、环境健康值以及服务健康值,然后将计算得到的所述健康值发送到节点管理模块;节点管理模块:用于为实例健康值设定期望范围下限值,为环境健康值设定期望范围下限值,为服务健康值设定期望范围上限值及下限值;还包括:节点部署模块,用于在所述服务健康值低于期望范围下限值时、在所述服务健康值处于期望范围上限值及下...

【专利技术属性】
技术研发人员:高英龙信文谢杰
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1