一种基于健康度的服务调度方法、装置、设备及存储介质制造方法及图纸

技术编号:38757352 阅读:16 留言:0更新日期:2023-09-10 09:42
本申请公开了一种基于健康度的服务调度方法、装置、设备及存储介质,涉及计算机技术领域,包括:获取当前服务器的当前异常信息记录,基于当前异常信息记录判断是否满足预设重试触发条件;若满足则判断当前服务器所处的当前机房内是否存在满足当前业务需求的服务器;若不存在则获取外部机房中满足当前业务需求的所述服务器,得到外部服务器;基于健康度指标从外部服务器中确定待调度服务器,基于预设调度操作将当前服务调度至待调度服务器。本申请通过在满足预设重试触发条件时确定待调度的机房,并且根据健康度指标确定该机房中的待调度服务器进行服务调度,可视化展现服务器的健康状态,降低了服务第崩溃的风险,提高了调度的灵活性。的灵活性。的灵活性。

【技术实现步骤摘要】
一种基于健康度的服务调度方法、装置、设备及存储介质


[0001]本专利技术涉及计算机
,特别涉及一种基于健康度的服务调度方法、装置、设备及存储介质。

技术介绍

[0002]当服务的规模在不断增长,从同城双活,变为异地多活,在这种超复杂业务的架构体系下,RPC(Remote Procedure Call Protocol,远程过程调用协议)最优化调度成为了评价一个服务好坏的最关键性因素。大多场景会使用RPC负载均衡策略,常见的负载均衡策略有:随机策略,即随机选取一个服务实例进行调度;轮询策略,即轮询并选取一个服务实例进行调度;最小活跃,即选取响应最快的服务实例进行调度;一致性Hash(哈希),即一种相对均衡,选取一个服务实例进行调度。以上策略在一般的同机房实例调度的场景下是能够满足要求的,但是如果在相对复杂的异地机房,同城机房调度则会存在问题,比如在同城双活的场景下,为了让服务不要跨城调度,往往会采用分片本地化策略,即尽量将一个userid(用户名)的服务限制在本城,而不是跨远程调度。但这种场景也依然会有userid逃逸,或者服务挂掉的场景,这种情况下缺乏相关判断指标,导致极端场景下调度不优,例如调度可能会被分配到较差的服务器上,从而导致链式反应,加速服务的进一步崩溃的风险。

技术实现思路

[0003]有鉴于此,本专利技术的目的在于提供一种基于健康度的服务调度方法、装置、设备和存储介质,能够可视化展现服务器的健康状态,降低了服务第崩溃的风险,提高了调度的灵活性。其具体方案如下:
[0004]第一方面,本申请公开了一种基于健康度的服务调度方法,包括:
[0005]获取当前服务器的当前异常信息记录,并基于所述当前异常信息记录判断是否满足预设重试触发条件;
[0006]若满足所述预设重试触发条件,则判断所述当前服务器所处的当前机房内是否存在满足当前业务需求的服务器;
[0007]若所述当前机房内不存在满足所述当前业务需求的所述服务器,则确定外部机房中满足所述当前业务需求的所述服务器,以得到外部服务器;
[0008]基于健康度指标从所述外部服务器中确定待调度服务器,并基于预设调度操作将当前服务调度至所述待调度服务器。
[0009]可选的,所述获取当前服务器的当前异常信息记录,包括:
[0010]按照单IP维度在预设统计时间窗口内进行统计,以得到全部信息记录以及当前异常信息记录;所述当前异常信息记录包含超时次数、限流次数、隔离次数、熔断次数以及非业务异常次数。
[0011]可选的,所述基于所述当前异常信息记录判断是否满足预设重试触发条件,包括:
[0012]基于所述全部信息记录以及所述当前异常信息记录计算当前错误占比率;
[0013]获取预设错误占比率,并判断所述当前错误占比率是否高于所述预设错误占比率;
[0014]若所述当前错误占比率高于所述预设错误占比率,则判定满足所述预设重试触发条件;
[0015]当所述非业务异常次数增加时,则判定满足所述预设重试触发条件。
[0016]可选的,所述判断所述当前服务器所处的当前机房内是否存在满足当前业务需求的服务器之后,还包括:
[0017]若所述当前服务器所处的当前机房内存在满足所述当前业务需求的所述服务器,则从所述当前机房的满足所述当前业务需求的服务器中确定目标服务器;
[0018]基于所述当前服务向所述目标服务器发起重试操作,并得到当前服务器重试次数;
[0019]判断所述当前服务器重试次数是否达到预设重试阈值;
[0020]若所述当前服务器重试次数已达到所述预设重试阈值,则结束针对所述目标服务器的所述重试操作;
[0021]重新进入所述判断所述当前服务器所处的当前机房内是否存在满足当前业务需求的服务器的步骤。
[0022]可选的,所述确定外部机房中满足所述当前业务需求的所述服务器,以得到外部服务器之前,还包括:
[0023]若所述当前机房内不存在满足所述当前业务需求的所述服务器,则获取外部健康度指标;其中,所述外部健康度指标为与所述外部机房中的每个所述外部服务器对应的指标;
[0024]基于预设指标判断规则判断全部所述外部健康度指标中是否存在满足预设指标需求的指标;
[0025]若全部所述外部健康度指标中存在满足所述预设指标需求的指标,则打开目标远程调度开关;所述目标远程调度开关为控制所述当前机房与所述外部机房进行远程调度的开关。
[0026]可选的,所述获取外部健康度指标之前,还包括:
[0027]通过flume采集操作采集全部机房的日志信息,并将所述日志信息的维度信息作为主键存储所述日志信息至Influxdb;
[0028]基于所述日志信息以及预设健康度指标计算公式计算每个所述机房中每个所述服务器对应的所述健康度指标。
[0029]可选的,所述基于所述日志信息以及预设健康度指标计算公式计算每个所述机房中每个所述服务器对应的所述健康度指标,包括:
[0030]通过服务治理中心中的统计中心从所述Influxdb中获取每个所述服务器的所述日志信息;
[0031]从所述日志信息中统计所述服务器的所述当前异常信息记录;
[0032]基于所述服务器的响应时间、所述当前异常信息记录、预设权重值以及所述预设健康度指标计算公式计算对应的所述健康度指标;所述预设权重值包含与所述响应时间对应的第一权重值以及与所述当前异常信息记录对应的第二权重值。
[0033]第二方面,本申请公开了一种基于健康度的服务调度装置,包括:
[0034]记录获取模块,用于获取当前服务器的当前异常信息记录;
[0035]重试判断模块,用于基于所述当前异常信息记录判断是否满足预设重试触发条件;
[0036]服务器判断模块,用于若满足所述预设重试触发条件,则判断所述当前服务器所处的当前机房内是否存在满足当前业务需求的服务器;
[0037]外部服务器确定模块,用于若所述当前机房内不存在满足所述当前业务需求的所述服务器,则确定外部机房中满足所述当前业务需求的所述服务器,以得到外部服务器;
[0038]待调度服务器确定模块,用于基于健康度指标从所述外部服务器中确定待调度服务器;
[0039]服务调度模块,用于基于预设调度操作将当前服务调度至所述待调度服务器。
[0040]第三方面,本申请公开了一种电子设备,包括:
[0041]存储器,用于保存计算机程序;
[0042]处理器,用于执行所述计算机程序,以实现如前述公开的基于健康度的服务调度方法的步骤。
[0043]第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如前述公开的基于健康度的服务调度方法。
[0044]可见,本申请提供了一种基于健康度的服务调度方法,包括:获取当前服务器的当前异常信息记录,并基于所述当前异常信息记录判本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于健康度的服务调度方法,其特征在于,包括:获取当前服务器的当前异常信息记录,并基于所述当前异常信息记录判断是否满足预设重试触发条件;若满足所述预设重试触发条件,则判断所述当前服务器所处的当前机房内是否存在满足当前业务需求的服务器;若所述当前机房内不存在满足所述当前业务需求的所述服务器,则确定外部机房中满足所述当前业务需求的所述服务器,以得到外部服务器;基于健康度指标从所述外部服务器中确定待调度服务器,并基于预设调度操作将当前服务调度至所述待调度服务器。2.根据权利要求1所述的基于健康度的服务调度方法,其特征在于,所述获取当前服务器的当前异常信息记录,包括:按照单IP维度在预设统计时间窗口内进行统计,以得到全部信息记录以及当前异常信息记录;所述当前异常信息记录包含超时次数、限流次数、隔离次数、熔断次数以及非业务异常次数。3.根据权利要求2所述的基于健康度的服务调度方法,其特征在于,所述基于所述当前异常信息记录判断是否满足预设重试触发条件,包括:基于所述全部信息记录以及所述当前异常信息记录计算当前错误占比率;获取预设错误占比率,并判断所述当前错误占比率是否高于所述预设错误占比率;若所述当前错误占比率高于所述预设错误占比率,则判定满足所述预设重试触发条件;当所述非业务异常次数增加时,则判定满足所述预设重试触发条件。4.根据权利要求1所述的基于健康度的服务调度方法,其特征在于,所述判断所述当前服务器所处的当前机房内是否存在满足当前业务需求的服务器之后,还包括:若所述当前服务器所处的当前机房内存在满足所述当前业务需求的所述服务器,则从所述当前机房的满足所述当前业务需求的服务器中确定目标服务器;基于所述当前服务向所述目标服务器发起重试操作,并得到当前服务器重试次数;判断所述当前服务器重试次数是否达到预设重试阈值;若所述当前服务器重试次数已达到所述预设重试阈值,则结束针对所述目标服务器的所述重试操作;重新进入所述判断所述当前服务器所处的当前机房内是否存在满足当前业务需求的服务器的步骤。5.根据权利要求1至4任一项所述的基于健康度的服务调度方法,其特征在于,所述确定外部机房中满足所述当前业务需求的所述服务器,以得到外部服务器之前,还包括:若所述当前机房内不存在满足所述当前业务需求的所述服务器,则获取外部健康度指标;其中,所述外部健康度指标为与所述外部机房中的每个所述外部服务...

【专利技术属性】
技术研发人员:方剑谢如栋陈云邓葵叶意
申请(专利权)人:杭州右文网络科技有限公司
类型:发明
国别省市:

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

1