[发明专利]一种链路跟踪方法及系统在审
申请号: | 202310134323.9 | 申请日: | 2023-02-20 |
公开(公告)号: | CN116232963A | 公开(公告)日: | 2023-06-06 |
发明(设计)人: | 王小宇;朱文寅;于洋;毛炜锋 | 申请(专利权)人: | 中银消费金融有限公司 |
主分类号: | H04L43/10 | 分类号: | H04L43/10;H04L43/12;H04L41/0631;H04L41/12;H04L43/045 |
代理公司: | 上海创开专利代理事务所(普通合伙) 31374 | 代理人: | 谢伟峰 |
地址: | 200120 上海市浦东新区自由贸易*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 跟踪 方法 系统 | ||
本发明公开了一种链路跟踪方法及系统,包括:发送请求;探针拦截请求,初始化链路上下文信息,生成全局唯一的traceId串联整个调用链路,当前服务节点默认为根节点,作为调用链的入口;探针记录链路调用信息;探针往通信协议头部注入链路信息,用于传递至下游服务;请求发送至下游服务;下游服务收到请求;探针拦截上游请求,提取协议头部附带的链路信息,复用traceId,初始化新的链路上下文信息;探针记录链路调用信息;处理请求。本发明便于运维、开发人员实时跟踪服务状态;具有通用的实时数据接口,充分考虑了问题发现的响应速度和生产运维工作的流程;可以追溯一段时间的服务请求数据,便于历史遗留问题的排查。
技术领域
本发明属于计算机技术领域,特别是涉及一种链路跟踪方法及系统。
背景技术
微服务架构进一步提高了现代互联网应用应对高并发量以及快速需求变化的能力,但也提高了程序物理上的分布性。微服务架构节点众多,节点之间的拓扑结构复杂,一次业务失败很难确定问题发生的准确位置。因此快速感知节点失败的能力非常重要。
链路跟踪系统可以描绘分布式系统中的一次完整调用,从用户界面上的请求到数据库的调用都完整地体现在分布式链路之中,该链路可以描述每个微服务的服务名称、接口名称、服务的IP、调用是否成功、调用的时长以及每次调用的返回结果等,使用此类信息,应用程序开发人员可以快速地进行问题定位和性能分析。链路跟踪系统可以帮助程序员应对分布式应用带来的物理上的拓扑复杂性。
链路跟踪系统主要分成黑盒跟踪和基于标注的跟踪系统。黑盒的跟踪方案主要是收集系统信息,使用统计推断的方式构建跟踪链路。黒盒跟踪系统的主要优点是对被跟踪系统完全无侵入;缺点是查询一次链路的时间较长,准确性欠佳。基于标注的跟踪系统需要改造公共组件,在微服务系统发生调用时标注链路信息,后续通过采集的方式集中存储链路日志,查询时将链路信息结构化并进行渲染。基于标注跟踪系统对被踪系统有一定的侵入性,但是准确性和查询速度都要更好,因此是一类使用更加广泛的链路跟踪系统。本发明实现的链路跟踪系统主要是基于标注的跟踪系统。
Pinpoint是一个J2EE平台的问题侦测系统,较早提出动态分析组件问题的概念,同时较早提出改造中间件及通信网关的方案,可以有效降低被跟踪应用对跟踪系统的感知。与Pinpoint强调发现组件的问题不同,X-trace更加强调组件在网络上的分布性。X-trace针对应用级别的网络跟踪系统,链路跟踪系统的三个主要设计原则:(1)跟踪系统的唯一标注信息和业务请求一起发送,而不是发送单独的探测请求;(2)跟踪信息的收集独立于被跟踪系统,和被跟踪系统的数据路径解耦;(3)数据的分析模块和跟踪数据标注模块解耦。Google的Dapper主要提出采样率的使用以及将代码植入限制在一小部分公共库的改造上。采样率的使用可以降低跟踪系统对被跟踪系统的性能影响,而仅仅修改公共库,可以让被跟踪应用对跟踪系统无感知。OpenTracing致力于为链路跟踪创建更标准化的API和工具,它由完整的API规范、实现该规范的框架、库以及项目文档组成。OpenTracing提供了一套平台无关、厂商无关的API,这样不同的组织或者开发人员就能够更加方便的添加或更换追踪系统的实现。
传统的生产问题排查方案为人工介入微服务部署的所有集群节点服务器,通过人工观测当前服务器性能指标,通过海量日志查看定位问题根源,存在以下缺陷:(1)各个团队开发运维人员协调沟通难度大;(2)问题定位需要从起始服务逐步排查,耗时耗力。现有链路跟踪技术通过收集每个请求的链路信息,构建用户访问的完整拓扑信息。根据链路信息查询的结果定位解决问题,但也存在因得到的查询结果无法准确定位问题根源,造成排查耗时长等问题。
发明内容
本发明提供了一种链路跟踪方法及系统,基于以上技术发展背景,设计实现了高性能、轻量化的链路跟踪系统,定位异常事件,分析业务处理性能,帮助运维人员快速响应处理生产事件。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明的一种链路跟踪方法,基于微服务架构下的一次链路调用跟踪过程如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中银消费金融有限公司,未经中银消费金融有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310134323.9/2.html,转载请声明来源钻瓜专利网。