本发明公开一种方法,涉及数据跟踪,具体地说是一种实现异构微服务框架的链路跟踪方法。
背景技术:
1、微服务架构已成为现代分布式应用程序的首选架构之一,随着微服务架构的广泛应用,有效的链路跟踪在微服务环境中变得复杂,一个请求可能会经过几十上百个服务节点,形成一条复杂的调用链,导致很难知道请求所经过的整个路径,分布式跟踪可以帮助查看整个请求过程中服务之间的交互,展示系统中请求的整个生命周期,帮助开发者发现应用程序中的错误、瓶颈和性能问题。
2、但因为不同微服务框架可能使用不同的跟踪机制,容易导致跟踪数据的碎片化和难以管理。并且现有的链路跟踪方法通常只适用于单一的微服务框架,对于多种微服务框架的集成跟踪存在困难。
技术实现思路
1、本发明针对现有技术的问题,提供一种实现异构微服务框架的链路跟踪方法,实现跟踪不同类型微服务架构中的请求,获取调用数据,屏蔽了不同微服务框架的差异,集成各链路跟踪工具的优势,为链路跟踪技术提供了灵活性和可扩展性,以适应多样化的应用场景。
2、本发明提出的具体方案是:
3、本发明方法提供一种实现异构微服务框架的链路跟踪方法,包括:
4、步骤1:封装分布式链路跟踪接口:在应用程序的配置中添加自定义埋点代码,对接分布式链路跟踪接口,配置分布式链路跟踪接口适配链路跟踪工具,
5、步骤2:利用链路跟踪工具通过所述分布式链路跟踪接口调用链路跟踪方法执行链路跟踪流程:
6、通过所述链路跟踪方法调用拓扑,记录各个服务的调用关系和依赖关系,
7、通过所述链路跟踪方法调用链路,记录各个服务的请求在调用过程中的完整路径,展示请求在不同服务之间的传递过程,
8、通过所述链路跟踪方法调用日志,记录各个服务的请求日志和响应日志,获取详细的请求和响应信息;
9、步骤3:可视化展示调用拓扑、调用链路和调用日志的过程中链路跟踪数据的分析。
10、进一步,所述的一种实现异构微服务框架的链路跟踪方法中所述步骤1中配置分布式链路跟踪接口适配链路跟踪工具,包括:
11、分别根据链路跟踪工具zipkin、链路跟踪工具skywalking和链路跟踪工具jaeger配置分布式链路跟踪接口,使分布式链路跟踪接口分别适配不同的链路跟踪工具。
12、进一步,所述的一种实现异构微服务框架的链路跟踪方法中步骤2中,链路跟踪流程包括:
13、根据服务调用请求,生成链路数据,将链路数据以span的形式生成元数据,捕获请求的关键信息,所述关键信息包括用户id、请求id、trace id和请求起始时间,
14、分别通过所述链路跟踪方法调用拓扑、调用链路和调用日志,存储跟踪数据,对跟踪数据进行分析。
15、进一步,所述的一种实现异构微服务框架的链路跟踪方法中步骤2中对跟踪数据进行分析。包括:
16、根据调用拓扑、调用链路和调用日志的过程划分跟踪数据,根据调用拓扑中的跟踪数据提供调用和被调用次数、成功率、平均响应时间以及qps的数据分析,调用链路和调用日志的跟踪数据中以trace id为唯一身份标识,提供调用和被调用方应用名称、调用api、调用状态、起始时间和耗时的数据分析。
17、进一步,所述的一种实现异构微服务框架的链路跟踪方法中步骤3中调用拓扑过程中以拓扑图的形式展示跟踪数据的分析,调用链路和调用日志过程中以树状结构、列表方式和表格模式展示跟踪数据的分析。
18、本发明还提供一种实现异构微服务框架的链路跟踪系统,包括接口封装模块、链路跟踪模块和展示模块,
19、接口封装模块封装分布式链路跟踪接口:在应用程序的配置中添加自定义埋点代码,对接分布式链路跟踪接口,配置分布式链路跟踪接口适配链路跟踪工具,
20、链路跟踪模块利用链路跟踪工具通过所述分布式链路跟踪接口调用链路跟踪方法执行链路跟踪流程:
21、通过所述链路跟踪方法调用拓扑,记录各个服务的调用关系和依赖关系,
22、通过所述链路跟踪方法调用链路,记录各个服务的请求在调用过程中的完整路径,展示请求在不同服务之间的传递过程,
23、通过所述链路跟踪方法调用日志,记录各个服务的请求日志和响应日志,获取详细的请求和响应信息;
24、展示模块可视化展示调用拓扑、调用链路和调用日志的过程中链路跟踪数据的分析。
25、进一步,所述的一种实现异构微服务框架的链路跟踪系统中所述接口封装模块配置分布式链路跟踪接口适配链路跟踪工具,包括:
26、分别根据链路跟踪工具zipkin、链路跟踪工具skywalking和链路跟踪工具jaeger配置分布式链路跟踪接口,使分布式链路跟踪接口分别适配不同的链路跟踪工具。
27、进一步,所述的一种实现异构微服务框架的链路跟踪系统中链路跟踪模块执行链路跟踪流程包括:
28、根据服务调用请求,生成链路数据,将链路数据以span的形式生成元数据,捕获请求的关键信息,所述关键信息包括用户id、请求id、trace id和请求起始时间,
29、分别通过所述链路跟踪方法调用拓扑、调用链路和调用日志,存储跟踪数据,对跟踪数据进行分析。
30、进一步,所述的一种实现异构微服务框架的链路跟踪系统中链路跟踪模块对跟踪数据进行分析。包括:
31、根据调用拓扑、调用链路和调用日志的过程划分跟踪数据,根据调用拓扑中的跟踪数据提供调用和被调用次数、成功率、平均响应时间以及qps的数据分析,调用链路和调用日志的跟踪数据中以trace id为唯一身份标识,提供调用和被调用方应用名称、调用api、调用状态、起始时间和耗时的数据分析。
32、进一步,所述的一种实现异构微服务框架的链路跟踪系统中展示模块在调用拓扑过程中以拓扑图的形式展示跟踪数据的分析,在调用链路和调用日志过程中以树状结构、列表方式和表格模式展示跟踪数据的分析。
33、本发明的有益之处是:
34、本发明提供一种实现异构微服务框架的链路跟踪方法,从用户与应用程序发生交互开始追踪,能够自动地追踪和记录在不同微服务框架中发生的多层请求,同时对跟踪数据进行存储、处理、分析和展示,得到用户行为路径,最后将链路跟踪数据通过可视化界面展现出来,实现链路跟踪透明化,并且将检测埋点和后端分离,兼容多种类型的编程语言和存储后端,能够方便开发人员通过调用链结合业务日志和指标快速定位错误信息,降低故障排查的复杂度,提高链路跟踪的准确性。
1.一种实现异构微服务框架的链路跟踪方法,其特征是包括:
2.根据权利要求1所述的一种实现异构微服务框架的链路跟踪方法,其特征是所述步骤1中配置分布式链路跟踪接口适配链路跟踪工具,包括:
3.根据权利要求1或2所述的一种实现异构微服务框架的链路跟踪方法,其特征是步骤2中,链路跟踪流程包括:
4.根据权利要求3所述的一种实现异构微服务框架的链路跟踪方法,其特征是步骤2中对跟踪数据进行分析。包括:
5.根据权利要求1所述的一种实现异构微服务框架的链路跟踪方法,其特征是步骤3中调用拓扑过程中以拓扑图的形式展示跟踪数据的分析,调用链路和调用日志过程中以树状结构、列表方式和表格模式展示跟踪数据的分析。
6.一种实现异构微服务框架的链路跟踪系统,其特征是包括接口封装模块、链路跟踪模块和展示模块,
7.根据权利要求6所述的一种实现异构微服务框架的链路跟踪系统,其特征是所述接口封装模块配置分布式链路跟踪接口适配链路跟踪工具,包括:
8.根据权利要求6或7所述的一种实现异构微服务框架的链路跟踪系统,其特征是链路跟踪模块执行链路跟踪流程包括:
9.根据权利要求8所述的一种实现异构微服务框架的链路跟踪系统,其特征是链路跟踪模块对跟踪数据进行分析。包括:
10.根据权利要求6所述的一种实现异构微服务框架的链路跟踪系统,其特征是展示模块在调用拓扑过程中以拓扑图的形式展示跟踪数据的分析,在调用链路和调用日志过程中以树状结构、列表方式和表格模式展示跟踪数据的分析。