调用链监控系统及方法技术方案

技术编号:30972440 阅读:20 留言:0更新日期:2021-11-25 20:54
本发明专利技术提供了一种调用链监控系统及方法,可用于分布式技术领域,该系统包括:分布式微服务子系统,用于获取每条业务请求在微服务之间的调用关系数据,生成每条业务请求对应的调用链日志,并在调用链日志中贴源部署组信息,将贴源后的调用链日志推送给产品运行监控子系统的Kafka;产品运行监控子系统:Kafka,用于存储调用链日志;解析模块,用于基于调用链日志中贴源的部署组信息,从单元化码表查询各调用环节信息,将查询到的各调用环节信息贴源到调用链日志,形成解析后的调用链日志并存回Kafka;计算模块,用于计算展示指标数据并存回Kafka;运维服务端模块,用于生成调用关系数据。本发明专利技术可以监控多个调用环节的调用链。本发明专利技术可以监控多个调用环节的调用链。本发明专利技术可以监控多个调用环节的调用链。

【技术实现步骤摘要】
调用链监控系统及方法


[0001]本专利技术涉及分布式
,尤其涉及一种调用链监控系统及方法。

技术介绍

[0002]在银行等大型企业中,为适应海量数据及海量交易的处理需求,部分产品(如核心银行)会采用“微服务+单元化”的部署架构。在单元化架构下,业务数据被划分到多个单元,每个服务会部署多个单元,每笔交易根据一定的客户要素(如核心客户号)路由到特定单元。因此,在追踪调用关系数据时,不仅需要知道交易经过哪些服务,还需要知道服务所在的部署单元。传统的调用链追踪工具只能体现一笔交易经过哪些微服务,无法体现微服务所属的单元以及产品,不利于运维人员精准定位问题。

技术实现思路

[0003]本专利技术实施例提出一种调用链监控系统,用以监控多个调用环节的调用链,该系统包括:
[0004]分布式微服务子系统和产品运行监控子系统;其中,
[0005]分布式微服务子系统,用于获取每条业务请求在微服务之间的调用关系数据,生成每条业务请求对应的调用链日志,并在调用链日志中贴源部署组信息,将贴源后的调用链日志推送给产品运行监控子系统的Kafka;
[0006]产品运行监控子系统包括Kafka、解析模块、计算模块和运维服务端模块,其中,Kafka,用于存储调用链日志;
[0007]解析模块,用于从Kafka中提取调用链日志;基于调用链日志中贴源的部署组信息,从单元化码表查询各调用环节信息,将查询到的各调用环节信息贴源到调用链日志,形成解析后的调用链日志并存回Kafka,所述单元化码表用于存储各调用环节之间的关联关系;
[0008]计算模块,用于根据解析后的调用链日志,计算展示指标数据并存回Kafka;
[0009]运维服务端模块,用于根据解析后的调用链日志和指标数据,生成调用关系数据。
[0010]本专利技术实施例提出一种调用链监控方法,用以监控多个调用环节的调用链,该方法包括:
[0011]从Kafka中提取调用链日志,所述调用链日志是分布式微服务子系统获取每条业务请求在微服务之间的调用关系数据,生成每条业务请求对应的调用链日志,并在调用链日志中贴源部署组信息,然后将贴源后的调用链日志推送至Kafka的;
[0012]基于调用链日志中贴源的部署组信息,从单元化码表查询各调用环节信息,将查询到的各调用环节信息贴源到调用链日志,形成解析后的调用链日志并存回Kafka,所述单元化码表用于存储各调用环节之间的关联关系;
[0013]根据解析后的调用链日志,计算展示指标数据并存回Kafka;
[0014]根据解析后的调用链日志和指标数据,生成调用关系数据。
[0015]本专利技术实施例还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述调用链监控方法。
[0016]本专利技术实施例还提出了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述调用链监控方法的计算机程序。
[0017]在本专利技术实施例中,分布式微服务子系统,用于获取每条业务请求在微服务之间的调用关系数据,生成每条业务请求对应的调用链日志,并在调用链日志中贴源部署组信息,将贴源后的调用链日志推送给产品运行监控子系统的Kafka;产品运行监控子系统包括Kafka、解析模块、计算模块和运维服务端模块,其中,Kafka用于存储调用链日志;解析模块,用于从Kafka中提取调用链日志;基于调用链日志中贴源的部署组信息,从单元化码表查询各调用环节信息,将查询到的各调用环节信息贴源到调用链日志,形成解析后的调用链日志并存回Kafka,所述单元化码表用于存储各调用环节之间的关联关系;计算模块,用于根据解析后的调用链日志,计算展示指标数据并存回Kafka;运维服务端模块,用于根据解析后的调用链日志和指标数据,生成调用关系数据。在上述过程中,可获取每条业务请求对应的调用链日志,通过贴源各调用环节信息,使得调用链日志可追踪每条业务请求涉及到的调用环节和指标数据,实现多调用环节追踪。
附图说明
[0018]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0019]图1为本专利技术实施例中调用链监控系统的示意图;
[0020]图2为本专利技术实施例中调用链监控系统的原理图;
[0021]图3为本专利技术实施例中调用链监控系统的另一示意图;
[0022]图4为本专利技术实施例中贴源后的调用链日志示例;
[0023]图5为本专利技术实施例中解析后的调用链日志示例;
[0024]图6为本专利技术实施例中计算的展示指标数据示例;
[0025]图7为本专利技术实施例中树形链路结构的调用关系数据的示意图;
[0026]图8为本专利技术实施例中表结构的调用关系数据的示意图;
[0027]图9为本专利技术实施例中单元级的拓扑结构的调用关系数据的示意图;
[0028]图10为本专利技术实施例中微服务级的拓扑结构的调用关系数据的示意图;
[0029]图11为本专利技术实施例中调用链监控方法的流程图;
[0030]图12为本专利技术实施例中计算机设备的示意图。
具体实施方式
[0031]为使本专利技术实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本专利技术实施例做进一步详细说明。在此,本专利技术的示意性实施例及其说明用于解释本专利技术,但并不作为对本专利技术的限定。
[0032]在本说明书的描述中,所使用的“包含”、“包括”、“具有”、“含有”等,均为开放性的用语,即意指包含但不限于。参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本申请的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
[0033]首先对本专利技术涉及到的术语进行解释。
[0034]调用链:分布式微服务架构下,一笔交易会经过多个微服务的处理。调用链追踪技术可通过traceid和spanid机制,获取一笔交易服务间调用的树形关系,以便快速定位问题及了解服务间依赖拓扑。
[0035]TraceId:用来标识每个调用链的唯一ID,称为调用链标识,TraceId在整个调用链路上传递,保持不变。
[0036]SpanId:调用链中的每一个环节为一个Span,每一个Span有一个SpanId来标识,称为环节标识,前后Span间形成父子关系,环节可以是应用、微服务或单元。
[0037]单本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种调用链监控系统,其特征在于,包括:分布式微服务子系统和产品运行监控子系统;其中,分布式微服务子系统,用于获取每条业务请求在微服务之间的调用关系数据,生成每条业务请求对应的调用链日志,并在调用链日志中贴源部署组信息,将贴源后的调用链日志推送给产品运行监控子系统的Kafka;产品运行监控子系统包括Kafka、解析模块、计算模块和运维服务端模块,其中,Kafka,用于存储调用链日志;解析模块,用于从Kafka中提取调用链日志;基于调用链日志中贴源的部署组信息,从单元化码表查询各调用环节信息,将查询到的各调用环节信息贴源到调用链日志,形成解析后的调用链日志并存回Kafka,所述单元化码表用于存储各调用环节之间的关联关系;计算模块,用于根据解析后的调用链日志,计算展示指标数据并存回Kafka;运维服务端模块,用于根据解析后的调用链日志和指标数据,生成调用关系数据。2.如权利要求1所述的调用链监控系统,其特征在于,产品运行监控子系统还包括运维展示端模块,用于展示所述调用关系数据。3.如权利要求1所述的调用链监控系统,其特征在于,所述调用关系数据包括调用链标识和调用链中每个调用环节的环节标识;所述调用关系数据采用如下至少一种结构表示:树形链路结构,拓扑结构,表结构。4.如权利要求1所述的调用链监控系统,其特征在于,所述展示指标包括各调用环节的平均响应时间和/或平均成功率。5.如权利要求1所述的调用链监控系统,其特征在于,还包括自动部署子系统,用于引用分布式微服务子系统提供的SDK,将各产品的应用部署到分布式微服务子系统。6.如权利要求1所述的调用链监控系统,其特征在于,产品运行监控子系...

【专利技术属性】
技术研发人员:尹充
申请(专利权)人:中国银行股份有限公司
类型:发明
国别省市:

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

1