CN115629940A - 一种微服务全链路追踪方法、装置、系统及介质 - Google Patents
一种微服务全链路追踪方法、装置、系统及介质 Download PDFInfo
- Publication number
- CN115629940A CN115629940A CN202211364844.5A CN202211364844A CN115629940A CN 115629940 A CN115629940 A CN 115629940A CN 202211364844 A CN202211364844 A CN 202211364844A CN 115629940 A CN115629940 A CN 115629940A
- Authority
- CN
- China
- Prior art keywords
- transaction
- association identifier
- service
- log file
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000004931 aggregating effect Effects 0.000 claims abstract description 9
- 238000003860 storage Methods 0.000 claims description 14
- 238000003745 diagnosis Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 6
- 230000002776 aggregation Effects 0.000 claims description 3
- 238000004220 aggregation Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 9
- 238000004519 manufacturing process Methods 0.000 abstract description 8
- 230000006870 function Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013024 troubleshooting Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/323—Visualisation of programs or trace data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种微服务全链路追踪方法、装置、系统及介质,方法包括:当检测到事务启动时,生成事务的关联标识;在分布式系统中调用与事务对应的服务,并将关联标识添加至服务调用的日志文件中;将事务的所有日志文件进行聚合后存储在预设数据库中;响应于事务追踪指令,根据关联标识在预设数据库中查询目标日志文件并展示目标事务的全链路节点信息。通过在事务启动时生成关联标识,并在服务调用时传播该关联标识且记录在日志文件中,使得可根据关联标识对事务实现过程中的调用链路进行查询展示,有效提高微服务事务的数据可追溯性,有利于提高生产问题的定位效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种微服务全链路追踪方法、装置、系统及介质。
背景技术
微服务是将复杂的单体软件系统分解为更小更易于管理的部分,将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,这种灵活性的代价是复杂性,一个微服务事务需要追踪多个服务、物理机器和不同的数据存储。
银行等金融机构的应用繁多且技术架构各异,采用微服务架构为用户提供事务操作时,若发生生产问题,现有做法通常是工作人员根据用户身份标识查询数据库关键数据,依赖工作人员根据经验逐一排查,导致生产问题的定位效率低。
发明内容
鉴于上述现有技术的不足,本发明的目的在于提供可应用于金融科技或其它相关领域的一种微服务全链路追踪方法、装置、系统及介质,旨在提高微服务事务的数据可追溯性,有利于提高生产问题的定位效率。
本发明的技术方案如下:
一种微服务全链路追踪方法,所述方法包括:
当检测到事务启动时,生成所述事务的关联标识;
在分布式系统中调用与所述事务对应的服务,并将所述关联标识添加至所述服务调用的日志文件中;
将所述事务的所有日志文件进行聚合后存储在预设数据库中;
响应于事务追踪指令,根据关联标识在所述预设数据库中查询目标日志文件并展示目标事务的全链路节点信息。
在一个实施例中,所述当检测到事务启动时,生成所述事务的关联标识,具体包括:
当检测到事务启动时,随机生成唯一的字符串作为所述事务的关联标识。
在一个实施例中,所述在分布式系统中调用与所述事务对应的服务,并将所述关联标识添加至所述服务调用的日志文件中,包括:
确认所述事务中包含的操作组合;
根据所述操作组合在分布式系统中调用对应的服务;
将所述关联标识添加至所述服务调用的日志文件中。
在一个实施例中,所述将所述关联标识添加至所述服务调用的日志文件中之前,所述方法还包括:
检测服务调用请求的请求头,确认所述请求头中是否存在关联标识,若存在则获取所述关联标识,否则生成所述事务的关联标识。
在一个实施例中,所述将所述关联标识添加至所述服务调用的日志文件中,包括:
将所述关联标识注入至服务容器的映射诊断上下文中,以使得所述关联标识添加至所述服务调用的日志语句中。
在一个实施例中,所述将所述关联标识添加至所述服务调用的日志文件中,还包括:
在创建或复用子线程时,将父线程中的关联标识传递至所述子线程中。
在一个实施例中,所述响应于事务追踪指令,根据关联标识在所述预设数据库中查询目标日志文件并展示目标事务的全链路节点信息,包括:
对接收到的事务追踪指令进行解析,确认目标事务;
根据所述目标事务的关联标识在所述预设数据库中查询得到目标日志文件;
根据所述目标日志文件中的调用数据展示所述目标事务的全链路节点信息。
一种微服务全链路追踪装置,包括:
生成模块,用于当检测到事务启动时,生成所述事务的关联标识;
添加模块,用于在分布式系统中调用与所述事务对应的服务,并将所述关联标识添加至所述服务调用的日志文件中;
聚合存储模块,用于将所述事务的所有日志文件进行聚合后存储在预设数据库中;
查询展示模块,用于响应于事务追踪指令,根据关联标识在所述预设数据库中查询目标日志文件并展示目标事务的全链路节点信息。
一种微服务全链路追踪系统,所述系统包括至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述微服务全链路追踪方法。
一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行上述的微服务全链路追踪方法。
有益效果:本发明公开了一种微服务全链路追踪方法、装置、系统及介质,相比于现有技术,本发明实施例通过在事务启动时生成关联标识,并在服务调用时传播该关联标识且记录在日志文件中,使得可根据关联标识对事务实现过程中的调用链路进行查询展示,有效提高微服务事务的数据可追溯性,有利于提高生产问题的定位效率。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1为本发明实施例提供的微服务全链路追踪方法的一个流程图;
图2为本发明实施例提供的微服务全链路追踪方法中步骤S200的流程图;
图3为本发明实施例提供的微服务全链路追踪方法中步骤S200的另一个流程图;
图4为本发明实施例提供的微服务全链路追踪方法中步骤S400的流程图;
图5为本发明实施例提供的微服务全链路追踪装置的功能模块示意图;
图6为本发明实施例提供的微服务全链路追踪系统的硬件结构示意图。
具体实施方式
为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。以下结合附图对本发明实施例进行介绍。
请参阅图1,图1为本发明提供的微服务全链路追踪方法一个实施例的流程图。本实施例提供的微服务全链路追踪方法应用于包括终端设备、网络和服务器构成的系统,其中网络为用于在终端设备和服务器直接提供通信链路的介质,其可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等;终端设备上的操作系统可以包括手持设备操作系统(iPhone operating system,iOS系统)、安卓系统或其他操作系统,终端设备通过网络连接到服务器以实现交互,从而进行接收或发送数据等操作,具体可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、便携式计算机和台式服务器等等。如图1所示,该方法具体包括如下步骤:
S100、当检测到事务启动时,生成所述事务的关联标识。
本实施例中,基于微服务架构实现应用程序以向用户提供相应业务时,具体通过分布式事务来实现不同的操作,事务是由一组操作组成的一个工作单元,分布式事务就是一组服务操作的集合,在分布式架构的微服务系统内,完成一个任何事务均需要涉及到多个服务来共同完成,这一组服务操作组成的集合,即为分布式事务,为实现对不同事务的全链路追踪,在检测到事务启动时即生成该事务的关联标识,以作为事务的追踪依据,提高后续数据查询调用的效率。
在一个实施例中,步骤S100具体包括:
当检测到事务启动时,随机生成唯一的字符串作为所述事务的关联标识。
本实施例中,在生成关联标识时,具体是对不同的事务随机生成唯一的字符串,作为各个事务的关联标识即关联ID,使得每个事务在启动时均具有随机生成且唯一的身份识别数据,令事务在完成过程中均可通过该关联标识进行操作记录,为全链路追踪提供数据基础。
S200、在分布式系统中调用与所述事务对应的服务,并将所述关联标识添加至所述服务调用的日志文件中。
本实施例中,在分布式的各个系统间进行服务调用以完成当前事务时,将当前事务的关联标识添加至日志文件中,进而实现关联标识在服务调用时的传播,日志文件是用于记录系统操作事件的记录文件或文件集合,可分为事件日志和消息日志,具有处理历史数据、诊断问题的追踪以及理解系统的活动等重要作用,因此在服务调用与执行过程中将关联标识添加至日志文件中,使得用户可通过日志文件中的关联标识对事务的调用链路进行搜索与追踪,提高事务的可溯源性。
在一个实施例中,请参阅图2,其为本发明实施例提供的微服务全链路追踪方法中步骤S200的流程图,如图2所示,步骤S200包括:
S201、确认所述事务中包含的操作组合;
S202、根据所述操作组合在分布式系统中调用对应的服务;
S203、将所述关联标识添加至所述服务调用的日志文件中。
本实施例中,由于在微服务架构中完成一个事务需在不同的系统中调用相应的服务,因此在进行服务调用时先确认完成当前事务所包含的操作组合,该操作组合中包括若干个服务操作,基于若干个服务操作所部署的系统,在分布式系统中进行跨系统的服务调用,调用与操作组合对应的各个服务,当发生服务调用时,则将关联标识添加到服务调用时所产生的日志文件中,以对各个服务调用执行情况进行记录,包括各个服务的耗时情况、阻塞点、异常情况等等。
在一个实施例中,请参阅图3,其为本发明实施例提供的微服务全链路追踪方法中步骤S200的另一个流程图,如图3所示,步骤S203之前,还包括:
S204、检测服务调用请求的请求头,确认所述请求头中是否存在关联标识,若存在则获取所述关联标识,否则生成所述事务的关联标识。
本实施例中,在发生了服务调用时,即接收到服务调用请求时,使用过滤器检查服务调用请求的请求头,确认请求头中是否携带了当前事务的关联标识,若存在则直接获取服用,若不存在则重新生成当前事务的关联标识,以实现关联标识在服务调用过程中的传播。
在一个实施例中,步骤S203,包括:
将所述关联标识注入至服务容器的映射诊断上下文中,以使得所述关联标识添加至所述服务调用的日志语句中。
本实施例中,在实现服务调用过程中的关联标识添加时,具体是将关联标识注入到服务容器的映射诊断上下文中,即MDC(Mapped Diagnostic Context,映射调试上下文)中,MDC是一种方便在多线程条件下记录日志的功能,将关联标识注入到MDC中,可以确保关联标识添加至服务调用的任何日志语句中,进而实现准确的关联标识添加传播。
在一个实施例中,步骤S203,还包括:
在创建或复用子线程时,将父线程中的关联标识传递至所述子线程中。
本实施例中,若系统中存在多线程调用时,为确保父线程的线程上下文能正确传播到子线程,则在子线程被创建或被复用时,将父线程的关联标识传递到子线程中,确保一个关联标识贯穿在整个事务中。
S300、将所述事务的所有日志文件进行聚合后存储在预设数据库中。
本实施例中,由于同一事务需在不同系统中调用多个服务,因此将跨系统产生多个日志文件,对于同一个关联标识在各系统的日志平台留下的记录,即同一事务在不同系统中的日志文件,则通过开源工具logstash对同一事务的所有日志文件进行聚合,并将聚合日志文件存储在预设数据库中。进一步地,针对多个事务聚合得到的多个聚合日志文件,则通过各个事务的关联标识建立索引并进行存储,使得可通过关联标识对不同事务的调用链路进行高效便捷的搜索。
S400、响应于事务追踪指令,根据关联标识在所述预设数据库中查询目标日志文件并展示目标事务的全链路节点信息。
本实施例中,当用户需要对某个事务进行链路追踪时,则输入事务追踪指令,服务端对该事务追踪指令进行响应,根据指令对应的关联标识在预设数据库中进行日志文件的搜索查询,得到目标日志文件,基于目标日志文件在显示界面展示目标事务的全链路节点信息,帮助用户直观高效地了解系统的调用链路,以及链路在各节点的耗时情况、阻塞点以及异常情况等等,不仅有利于在发生生产问题时的高效定位,还可根据链路情况灵活对各系统进行扩容或缩容处理,尽可能提高系统均衡能力。
在一个实施例中,请参阅图4,其为本发明实施例提供的微服务全链路追踪方法中步骤S400的流程图,如图4所示,步骤S400包括:
S401、对接收到的事务追踪指令进行解析,确认目标事务;
S402、根据所述目标事务的关联标识在所述预设数据库中查询得到目标日志文件;
S403、根据所述目标日志文件中的调用数据展示所述目标事务的全链路节点信息。
本实施例中,对接收到的事务追踪指令进行响应,先解析得到指令中携带的目标事务,例如用户可通过输入目标事务的名称或序号等等输入该事务追踪指令,之后则获取之前生成的该目标事务的关联标识,基于关联标识在预设数据库的索引中查询得到相应的目标日志文件,该目标日志文件记录了目标事务在进行系统间服务调用时的全链路信息,根据目标日志文件中记录的调用数据可视化地展示目标事务的全链路节点信息,使得系统间的服务调用可视化,有效降低了生产问题的排查难度,提高排查效率。
本发明另一实施例提供一种微服务全链路追踪装置,如图5所示,装置1包括:
生成模块11,用于当检测到事务启动时,生成所述事务的关联标识;
添加模块12,用于在分布式系统中调用与所述事务对应的服务,并将所述关联标识添加至所述服务调用的日志文件中;
聚合存储模块13,用于将所述事务的所有日志文件进行聚合后存储在预设数据库中;
查询展示模块14,用于响应于事务追踪指令,根据关联标识在所述预设数据库中查询目标日志文件并展示目标事务的全链路节点信息。
本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述微服务全链路追踪的执行过程,各模块的具体实施方式请参考上述对应的方法实施例,此处不再赘述。
在一个实施例中,所述生成模块11,具体用于:
当检测到事务启动时,随机生成唯一的字符串作为所述事务的关联标识。
在一个实施例中,所述添加模块12,包括:
操作确认单元,用于确认所述事务中包含的操作组合;
服务调用单元,用于根据所述操作组合在分布式系统中调用对应的服务;
添加单元,用于将所述关联标识添加至所述服务调用的日志文件中。
在一个实施例中,所述添加模块12,还包括:
检测获取单元,用于检测服务调用请求的请求头,确认所述请求头中是否存在关联标识,若存在则获取所述关联标识,否则生成所述事务的关联标识。
在一个实施例中,所述添加单元,具体用于:
将所述关联标识注入至服务容器的映射诊断上下文中,以使得所述关联标识添加至所述服务调用的日志语句中。
在一个实施例中,所述添加单元,还具体用于:
在创建或复用子线程时,将父线程中的关联标识传递至所述子线程中。
在一个实施例中,所述查询展示模块14,包括:
解析单元,用于对接收到的事务追踪指令进行解析,确认目标事务;
查询单元,用于根据所述目标事务的关联标识在所述预设数据库中查询得到目标日志文件;
展示单元,用于根据所述目标日志文件中的调用数据展示所述目标事务的全链路节点信息。
本发明另一实施例提供一种微服务全链路追踪系统,如图6所示,系统10包括:
一个或多个处理器110以及存储器120,图6中以一个处理器110为例进行介绍,处理器110和存储器120可以通过总线或者其他方式连接,图6中以通过总线连接为例。
处理器110用于完成系统10的各种控制逻辑,其可以为通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、单片机、ARM(Acorn RISCMachine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,处理器110还可以是任何传统处理器、微处理器或状态机。处理器110也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP和/或任何其它这种配置。
存储器120作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的微服务全链路追踪方法对应的程序指令。处理器110通过运行存储在存储器120中的非易失性软件程序、指令以及单元,从而执行系统10的各种功能应用以及数据处理,即实现上述方法实施例中的微服务全链路追踪方法。
存储器120可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据系统10使用所创建的数据等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器120可选包括相对于处理器110远程设置的存储器,这些远程存储器可以通过网络连接至系统10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个单元存储在存储器120中,当被一个或者多个处理器110执行时,实现以下步骤:
当检测到事务启动时,生成所述事务的关联标识;
在分布式系统中调用与所述事务对应的服务,并将所述关联标识添加至所述服务调用的日志文件中;
将所述事务的所有日志文件进行聚合后存储在预设数据库中;
响应于事务追踪指令,根据关联标识在所述预设数据库中查询目标日志文件并展示目标事务的全链路节点信息。
在一个实施例中,所述当检测到事务启动时,生成所述事务的关联标识,具体包括:
当检测到事务启动时,随机生成唯一的字符串作为所述事务的关联标识。
在一个实施例中,所述在分布式系统中调用与所述事务对应的服务,并将所述关联标识添加至所述服务调用的日志文件中,包括:
确认所述事务中包含的操作组合;
根据所述操作组合在分布式系统中调用对应的服务;
将所述关联标识添加至所述服务调用的日志文件中。
在一个实施例中,所述将所述关联标识添加至所述服务调用的日志文件中之前,所述方法还包括:
检测服务调用请求的请求头,确认所述请求头中是否存在关联标识,若存在则获取所述关联标识,否则生成所述事务的关联标识。
在一个实施例中,所述将所述关联标识添加至所述服务调用的日志文件中,包括:
将所述关联标识注入至服务容器的映射诊断上下文中,以使得所述关联标识添加至所述服务调用的日志语句中。
在一个实施例中,所述将所述关联标识添加至所述服务调用的日志文件中,还包括:
在创建或复用子线程时,将父线程中的关联标识传递至所述子线程中。
在一个实施例中,所述响应于事务追踪指令,根据关联标识在所述预设数据库中查询目标日志文件并展示目标事务的全链路节点信息,包括:
对接收到的事务追踪指令进行解析,确认目标事务;
根据所述目标事务的关联标识在所述预设数据库中查询得到目标日志文件;
根据所述目标日志文件中的调用数据展示所述目标事务的全链路节点信息。
本发明实施例提供了一种非易失性计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如,执行以上描述的图1中的方法步骤S100至步骤S400。
作为示例,非易失性存储介质能够包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦ROM(EEPROM)或闪速存储器。易失性存储器能够包括作为外部高速缓存存储器的随机存取存储器(RAM)。通过说明而非限制,RAM可以以诸如同步RAM(SRAM)、动态RAM、(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、Synchlink DRAM(SLDRAM)以及直接Rambus(兰巴斯)RAM(DRRAM)之类的许多形式得到。本文中所描述的操作环境的所公开的存储器组件或存储器旨在包括这些和/或任何其他适合类型的存储器中的一个或多个。
综上,本发明公开的一种微服务全链路追踪方法、装置、系统及介质中,方法通过当检测到事务启动时,生成事务的关联标识;在分布式系统中调用与事务对应的服务,并将关联标识添加至服务调用的日志文件中;将事务的所有日志文件进行聚合后存储在预设数据库中;响应于事务追踪指令,根据关联标识在预设数据库中查询目标日志文件并展示目标事务的全链路节点信息。通过在事务启动时生成关联标识,并在服务调用时传播该关联标识且记录在日志文件中,使得可根据关联标识对事务实现过程中的调用链路进行查询展示,有效提高微服务事务的数据可追溯性,有利于提高生产问题的定位效率。
当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的计算机程序可存储于一非易失性计算机可读取的存储介质中,该计算机程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、软盘、闪存、光存储器等。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种微服务全链路追踪方法,其特征在于,包括:
当检测到事务启动时,生成所述事务的关联标识;
在分布式系统中调用与所述事务对应的服务,并将所述关联标识添加至所述服务调用的日志文件中;
将所述事务的所有日志文件进行聚合后存储在预设数据库中;
响应于事务追踪指令,根据关联标识在所述预设数据库中查询目标日志文件并展示目标事务的全链路节点信息。
2.根据权利要求1所述的微服务全链路追踪方法,其特征在于,所述当检测到事务启动时,生成所述事务的关联标识,具体包括:
当检测到事务启动时,随机生成唯一的字符串作为所述事务的关联标识。
3.根据权利要求1所述的微服务全链路追踪方法,其特征在于,所述在分布式系统中调用与所述事务对应的服务,并将所述关联标识添加至所述服务调用的日志文件中,包括:
确认所述事务中包含的操作组合;
根据所述操作组合在分布式系统中调用对应的服务;
将所述关联标识添加至所述服务调用的日志文件中。
4.根据权利要求3所述的微服务全链路追踪方法,其特征在于,所述将所述关联标识添加至所述服务调用的日志文件中之前,所述方法还包括:
检测服务调用请求的请求头,确认所述请求头中是否存在关联标识,若存在则获取所述关联标识,否则生成所述事务的关联标识。
5.根据权利要求3所述的微服务全链路追踪方法,其特征在于,所述将所述关联标识添加至所述服务调用的日志文件中,包括:
将所述关联标识注入至服务容器的映射诊断上下文中,以使得所述关联标识添加至所述服务调用的日志语句中。
6.根据权利要求5所述的微服务全链路追踪方法,其特征在于,所述将所述关联标识添加至所述服务调用的日志文件中,还包括:
在创建或复用子线程时,将父线程中的关联标识传递至所述子线程中。
7.根据权利要求1所述的微服务全链路追踪方法,其特征在于,所述响应于事务追踪指令,根据关联标识在所述预设数据库中查询目标日志文件并展示目标事务的全链路节点信息,包括:
对接收到的事务追踪指令进行解析,确认目标事务;
根据所述目标事务的关联标识在所述预设数据库中查询得到目标日志文件;
根据所述目标日志文件中的调用数据展示所述目标事务的全链路节点信息。
8.一种微服务全链路追踪装置,其特征在于,包括:
生成模块,用于当检测到事务启动时,生成所述事务的关联标识;
添加模块,用于在分布式系统中调用与所述事务对应的服务,并将所述关联标识添加至所述服务调用的日志文件中;
聚合存储模块,用于将所述事务的所有日志文件进行聚合后存储在预设数据库中;
查询展示模块,用于响应于事务追踪指令,根据关联标识在所述预设数据库中查询目标日志文件并展示目标事务的全链路节点信息。
9.一种微服务全链路追踪系统,其特征在于,所述系统包括至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7任一项所述的微服务全链路追踪方法。
10.一种非易失性计算机可读存储介质,其特征在于,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行权利要求1-7任一项所述的微服务全链路追踪方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211364844.5A CN115629940A (zh) | 2022-11-02 | 2022-11-02 | 一种微服务全链路追踪方法、装置、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211364844.5A CN115629940A (zh) | 2022-11-02 | 2022-11-02 | 一种微服务全链路追踪方法、装置、系统及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115629940A true CN115629940A (zh) | 2023-01-20 |
Family
ID=84909119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211364844.5A Pending CN115629940A (zh) | 2022-11-02 | 2022-11-02 | 一种微服务全链路追踪方法、装置、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115629940A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117097803A (zh) * | 2023-10-19 | 2023-11-21 | 易方信息科技股份有限公司 | 基于http全链路追踪方法、系统、设备以及存储介质 |
-
2022
- 2022-11-02 CN CN202211364844.5A patent/CN115629940A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117097803A (zh) * | 2023-10-19 | 2023-11-21 | 易方信息科技股份有限公司 | 基于http全链路追踪方法、系统、设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109446068B (zh) | 接口测试方法、装置、计算机设备和存储介质 | |
CN109672741B (zh) | 微服务监控方法、装置、计算机设备和存储介质 | |
WO2020233219A1 (zh) | 异常问题的定位方法、装置、设备及计算机可读存储介质 | |
US10061578B2 (en) | System and method of configuring a data store for tracking and auditing real-time events across different software development tools in agile development environments | |
CN110290212B (zh) | 服务调用记录方法、装置、计算机设备和存储介质 | |
CN110489313B (zh) | 基于区块链的操作日志记录方法、装置及存储介质 | |
WO2021218178A1 (zh) | 报表自动生成方法、装置、计算机设备及存储介质 | |
CN112491602A (zh) | 行为数据的监控方法、装置、计算机设备及介质 | |
CN110489315B (zh) | 一种操作请求的跟踪方法、跟踪装置及服务器 | |
WO2020259003A1 (zh) | 一种链路追踪方法及装置 | |
CN109656778A (zh) | 数据获取方法、装置、计算机设备和存储介质 | |
CN111078559B (zh) | java代码中函数调用的提取方法、装置、介质及计算机设备 | |
CN111198797B (zh) | 操作监控方法及装置、操作分析方法及装置 | |
CN110716878A (zh) | 一种接口自动化测试方法、装置及系统 | |
US11816479B2 (en) | System and method for implementing a code audit tool | |
CN110969417A (zh) | 政务事项同步方法、装置、系统、计算机设备和存储介质 | |
CN113254399A (zh) | 日志查询方法、装置、电子设备及介质 | |
CN115629940A (zh) | 一种微服务全链路追踪方法、装置、系统及介质 | |
CN112738138A (zh) | 云安全托管方法、装置、设备及存储介质 | |
CN111047434A (zh) | 一种操作记录生成方法、装置、计算机设备和存储介质 | |
CN109286608B (zh) | 调用链处理方法、装置及存储设备、计算机设备 | |
CN114697942B (zh) | 一种自连接方法、系统、终端设备和存储介质 | |
CN115934040A (zh) | 一种需求分析方法、装置、电子设备及存储介质 | |
CN110309062B (zh) | 用例生成方法、装置、电子设备及存储介质 | |
CN115828262A (zh) | 开源组件漏洞扫描方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |