一种微服务调试方法、装置及系统制造方法及图纸

技术编号:35632921 阅读:5 留言:0更新日期:2022-11-19 16:20
本发明专利技术提供一种微服务调试方法、装置及系统,涉及微服务调试技术领域。该方法包括:从微服务调用链数据库中,获取发生异常的目标微服务调用链数据;根据目标微服务调用链数据,在本地开发环境中重现异常现象;在异常现象中,对目标微服务调用链上的微服务节点进行调试。本发明专利技术的方案,解决了微服务运维测试过程难以定位问题根源的问题。定位问题根源的问题。定位问题根源的问题。

【技术实现步骤摘要】
一种微服务调试方法、装置及系统


[0001]本专利技术涉及微服务调试
,特别是指一种微服务调试方法、装置及系统。

技术介绍

[0002]随着云计算和互联网相关技术的不断发展,传统的软件架构已经越来越难以适应在云计算环境下对软件项目能够弹性伸缩和快速迭代的需求,为了应对新技术所带来的挑战,越来越多的软件项目采用微服务架构来取代传统的单体应用架构。微服架构相对于传统的单体应用架构赋予了软件:
[0003]1.弹性伸缩的能力,软件服务在面对突如其来大量访问请求时系统能够灵活调度计算资源增强处理并发的能力。
[0004]2.快速迭代升级的能力,针对客户需求相应的更新升级所依赖的微服务,而不会影响到整个软件系统。
[0005]但是,由于软件拆分成了多个独立的微服务,在运维测试过程中如果某个微服务出现异常,定位和复现问题是比较困难的,特别是在生产环境中,如果需要对出现问题的微服务进行修改和调试是不被允许的。目前只能用传统的方式通过登录服务器查询微服务输出的日志同时对比程序代码的逻辑来判断和定位问题的根源,这种方式效率极低并且不容易发现问题。

技术实现思路

[0006]本专利技术的目的是提供一种微服务调试方法、装置及系统,可解决微服务运维测试过程难以定位问题根源的问题。
[0007]为达到上述目的,本专利技术的实施例提供一种微服务调试方法,包括:
[0008]从微服务调用链数据库中,获取发生异常的目标微服务调用链数据;
[0009]根据目标微服务调用链数据,在本地开发环境中重现异常现象;
[0010]在异常现象中,对目标微服务调用链上的微服务节点进行调试。
[0011]可选地,所述微服务调试方法还包括:
[0012]通过微服务网关处的监听程序,监听系统请求,所述系统请求携带有微服务调用链数据;
[0013]记录所述系统请求的微服务调用链数据,构建所述微服务调用链数据库;所述微服务调用链数据包括:微服务调用链上的微服务节点的输入数据、微服务调用链上的微服务节点的输出数据、微服务调用链上的微服务节点的时延数据、业务API名称、微服务调用链标识、微服务调用链调用的微服务的CPU/内存、微服务调用链的调用链深度、微服务调用链的调用链错误日志数量和微服务调用链的调用链告警日志数量中的至少一项。
[0014]可选地,从微服务调用链数据库中,获取发生异常的目标微服务调用链数据的步骤,包括:
[0015]在从微服务调用链数据库中,获取微服务调用链数据的特征值;
[0016]将所述特征值代入多元高斯分布的异常检测算法进行计算,获取发生异常的目标微服务调用链数据。
[0017]可选地,将所述特征值代入多元高斯分布的异常检测算法进行计算,获取发生异常的目标微服务调用链数据的步骤,包括:
[0018]根据以下公式,确定第一微服务调用链是否工作正常;
[0019][0020]若p(X)<ε,则确定所述第一微服务调用链发生异常,并将所述第一微服务调用链的数据确定为所述目标微服务调用链数据;
[0021]其中,
[0022][0023][0024]X
(i)
为特征值样本集合{X
(1)
,X
(2)
……
,X
(m)
}中的特征值样本,m为所述微服务调用链数据库中的微服务调用链的历史数量,ε为预设值。
[0025]可选地,所述特征值样本包括:调用链整体耗时、调用链负载、调用链深度、调用链错误日志数量和调用链告警日志数量中的至少一项特征值。
[0026]可选地,从微服务调用链数据库中,获取发生异常的目标微服务调用链数据的步骤之前,还包括:
[0027]接收本地调试请求;
[0028]根据所述调试请求,建立协同开发插件与协同开发系统的websocket连接;其中,所述目标微服务调用链数据是基于所述websocket连接获取的。
[0029]可选地,根据所述目标微服务调用链数据,在本地开发环境中重现异常现象的步骤,包括:
[0030]通过协同开发系统对所述目标微服务调用链数据进行分析,确定异常分析结果;
[0031]通过协同开发插件,从远端环境下载所述异常分析结果对应的微服务;
[0032]通过所述协同开发插件,在代码仓库中拉取所述微服务对应版本的微服务代码到本地开发环境;
[0033]根据所述微服务代码,在所述本地开发环境中重现异常现象。
[0034]可选地,根据所述微服务代码,在所述本地开发环境中重现异常现象的步骤,包括:
[0035]将所述微服务代码和所述本地开发环境中的微服务镜像副本进行关联,重现所述异常现象。
[0036]为达到上述目的,本专利技术的实施例提供一种微服务调试装置,包括:
[0037]获取模块,用于从微服务调用链数据库中,获取发生异常的目标微服务调用链数据;
[0038]构建模块,用于根据目标微服务调用链数据,在本地开发环境中重现异常现象;
[0039]调试模块,用于在异常现象中,对目标微服务调用链上的微服务节点进行调试。
[0040]可选地,所述微服务调试装置还包括:
[0041]监听模块,用于通过微服务网关处的监听程序,监听系统请求,所述系统请求携带有微服务调用链数据;
[0042]记录模块,用于记录所述系统请求的微服务调用链数据,构建所述微服务调用链数据库;所述微服务调用链数据包括:微服务调用链上的微服务节点的输入数据、微服务调用链上的微服务节点的输出数据、微服务调用链上的微服务节点的时延数据,业务API名称,微服务调用链标识,微服务调用链调用的微服务的CPU/内存、微服务调用链的调用链深度、微服务调用链的调用链错误日志数量和微服务调用链的调用链告警日志数量中的至少一项。
[0043]可选地,所述获取模块包括:
[0044]第一获取子模块,用于在从微服务调用链数据库中,获取微服务调用链数据的特征值;
[0045]第二获取子模块,用于将所述特征值代入多元高斯分布的异常检测算法进行计算,获取发生异常的目标微服务调用链数据。
[0046]可选地,所述第二获取子模块包括:
[0047]第一确定单元,用于根据以下公式,确定第一微服务调用链是否工作正常;
[0048][0049]第二确定单元,用于若p(X)<ε,则确定所述第一微服务调用链发生异常,并将所述第一微服务调用链的数据确定为所述目标微服务调用链数据;
[0050]其中,
[0051][0052][0053]X
(i)
为特征值样本集合{X
(1)
,X
(2)
……
,X
(m)
}中的特征值样本,m为所述微服务调用链数据库中的微服务调用链的历史数量,ε为预设值。
[0054]可选地,所述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种微服务调试方法,其特征在于,包括:从微服务调用链数据库中,获取发生异常的目标微服务调用链数据;根据所述目标微服务调用链数据,在本地开发环境中重现异常现象;在所述异常现象中,对所述目标微服务调用链上的微服务节点进行调试。2.根据权利要求1所述的微服务调试方法,其特征在于,还包括:通过微服务网关处的监听程序,监听系统请求,所述系统请求携带有微服务调用链数据;记录所述系统请求的微服务调用链数据,构建所述微服务调用链数据库;所述微服务调用链数据包括:微服务调用链上的微服务节点的输入数据、微服务调用链上的微服务节点的输出数据、微服务调用链上的微服务节点的时延数据、业务API名称、微服务调用链标识、微服务调用链调用的微服务的CPU/内存、微服务调用链的调用链深度、微服务调用链的调用链错误日志数量和微服务调用链的调用链告警日志数量中的至少一项。3.根据权利要求1或2所述的微服务调试方法,其特征在于,从微服务调用链数据库中,获取发生异常的目标微服务调用链数据的步骤,包括:在从微服务调用链数据库中,获取微服务调用链数据的特征值;将所述特征值代入多元高斯分布的异常检测算法进行计算,获取发生异常的目标微服务调用链数据。4.根据权利要求3所述的微服务调试方法,其特征在于,将所述特征值代入多元高斯分布的异常检测算法进行计算,获取发生异常的目标微服务调用链数据的步骤,包括:根据以下公式,确定第一微服务调用链是否工作正常;若p(X)<ε,则确定所述第一微服务调用链发生异常,并将所述第一微服务调用链的数据确定为所述目标微服务调用链数据;其中,其中,X
(i)
为特征值样本集合{X
(1)
,X
(2)
……
,X
(m)
}中的特征值样本,m为所述微服务调用链数据库中的微服务调用链的历史数量,ε为预设值。5.根据权利要求4所述的微服务调试方法,其特征在于,所述特征值样本包括:调用链整体耗时、调用链负载、调用链深度、调用链错误日志数量和调用链告警日志数量中的至少一项特征值。6.根据权利要求1所述的微服务调试方法,其特征在于,从微服务调用链数据库中,获取发生异常的目标微服务调用链数据的步骤之前,还包括:接收本地调试请求;
根据所述调试请求,建立协同开发插件与协同开发系统的网页套接字websocket连接;其中,所述目标微服务调用链数据是基于所述websocket连接获取的。7.根据权利要求1所述的微服务调试方法,其特征在于,根据所述目标微服务调用链数据,在本地开发环境中重现异常现象的步...

【专利技术属性】
技术研发人员:李浩潘晓林沈强彭辉
申请(专利权)人:中移智行网络科技有限公司中国移动通信集团有限公司
类型:发明
国别省市:

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

1