CN111865978B - 一种微服务的请求标识更新方法、装置、设备及介质 - Google Patents
一种微服务的请求标识更新方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN111865978B CN111865978B CN202010697784.3A CN202010697784A CN111865978B CN 111865978 B CN111865978 B CN 111865978B CN 202010697784 A CN202010697784 A CN 202010697784A CN 111865978 B CN111865978 B CN 111865978B
- Authority
- CN
- China
- Prior art keywords
- service
- request
- micro
- calling
- flow identifier
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0677—Localisation of faults
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例公开了一种微服务的请求标识更新方法、装置、设备及介质。其中,微服务的请求标识更新方法,包括:响应于第一微服务发起的服务调用请求,触发调用第二微服务;通过前置拦截器,获取所述服务调用请求所属业务请求的请求流水标识,并将所述请求流水标识写入被调用的第二微服务中。本发明实施例的技术方案,通过前置拦截器将服务调用请求所属业务请求的请求流水标识写入到被调用的微服务中,实现异步场景下,一个业务请求所涉及的多个微服务保持同一个请求流水标识,降低问题排查定位的复杂度。
Description
技术领域
本发明实施例涉及计算机技术,尤其涉及一种微服务的请求标识更新方法、装置、设备及介质。
背景技术
在互联网业务场景中,业务请求的后台调用有同步调用和异步调用两种方式,异步调用的通常做法是针对用户发起的请求,开辟多个线程进行异步处理,等多个异步线程返回结果后,汇总至业务前端,这种调用方式可以减少接口的请求耗时,减少用户的等待时间。
上述业务请求后台异步化操作虽然带来了很多便利,但对于软件工程师来说,这种方式却提高了问题定位与排查的复杂度。在同步调用的情况下,用户的每一个请求,都是在一个线程中同步处理,该请求对应的请求流水标识可以贯穿该请求的生命周期中涉及到的所有微服务,如果一个微服务出现问题,可以迅速在请求日志中查看,但是采用异步调用时,会开辟多个线程,每当开辟一个线程处理时,请求流水标识会重新生成,所以该请求涉及的多个微服务中没办法采用相同的请求流水标识去关联,提高了问题定位的复杂度。
现有技术中,为了解决异步调用时问题定位与排查困难的问题,将请求流水标识作为参数在请求涉及的各微服务接口间进行传递,实现在异步调用情况下多个微服务请求流水标识保持一致,但是这种方式需要改变微服务接口参数,对业务接口进行不必要的参数入侵,提高了业务理解的复杂度。
发明内容
本发明实施例提供一种微服务的请求标识更新方法、装置、设备及介质,在微服务被调用时,通过前置拦截器将服务调用请求所属业务请求的请求流水标识写入被调用的微服务中,实现异步场景下,一个业务请求所涉及的多个微服务保持同一个请求流水标识,降低问题排查定位的复杂度。
第一方面,本发明实施例提供了一种微服务的请求标识更新方法,所述方法包括:
响应于第一微服务发起的服务调用请求,触发调用第二微服务;
通过前置拦截器,获取所述服务调用请求所属业务请求的请求流水标识,并将所述请求流水标识写入被调用的第二微服务中;
其中,所述业务请求对应多个微服务,各微服务对应不同的线程。
第二方面,本发明实施例提供了一种异步日志的生成方法,所述方法包括:
响应于第一微服务发起的服务调用请求,触发调用第二微服务;
通过前置拦截器,获取所述服务调用请求所属业务请求的请求流水标识,并将所述请求流水标识写入被调用的第二微服务中,所述业务请求对应多个微服务,各微服务对应不同的线程;
通过所述第二微服务执行匹配的调用逻辑,并在执行调用逻辑过程中,生成包含所述请求流水标识的请求日志。
第三方面,本发明实施例还提供了一种微服务的请求标识更新装置,所述装置包括:
第二微服务调用模块,用于响应于第一微服务发起的服务调用请求,触发调用第二微服务;
请求流水标识写入模块,用于通过前置拦截器,获取所述服务调用请求所属业务请求的请求流水标识,并将所述请求流水标识写入被调用的第二微服务中;
其中,所述业务请求对应多个微服务,各微服务对应不同的线程。
第四方面,本发明实施例还提供了一种异步日志的生成装置,所述装置包括:
第二微服务调用模块,用于响应于第一微服务发起的服务调用请求,触发调用第二微服务;
请求流水标识写入模块,用于通过前置拦截器,获取所述服务调用请求所属业务请求的请求流水标识,并将所述请求流水标识写入被调用的第二微服务中,所述业务请求对应多个微服务,各微服务对应不同的线程;
请求日志生成模块,用于通过所述第二微服务执行匹配的调用逻辑,并在执行调用逻辑过程中,生成包含所述请求流水标识的请求日志。
第五方面,本发明实施例还提供了一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例提供的微服务的请求标识更新方法或者异步日志的生成方法。
第六方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例提供的微服务的请求标识更新方法或者异步日志的生成方法。
本发明实施例的技术方案,响应于第一微服务发起的服务调用请求,触发调用第二微服务,然后通过前置拦截器,获取服务调用请求所属业务请求的请求流水标识,并将请求流水标识写入被调用的第二微服务中,解决了异步调用情况下,针对同一业务请求,各微服务不能保持同一个请求流水标识导致问题难以定位的问题,实现在异步场景下,一个业务请求所涉及的多个微服务保持同一个请求流水标识,降低问题排查定位的复杂度。
附图说明
图1是本发明实施例一中的一种微服务的请求标识更新方法的流程图;
图2是本发明实施例二中的一种微服务的请求标识更新方法的流程图;
图3是本发明实施例三中的一种异步日志的生成方法的流程图;
图4是本发明实施例四中的一种微服务的请求标识更新装置示意图;
图5是本发明实施例五中的一种异步日志的生成装置示意图;
图6是本发明实施例六提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一中的一种微服务的请求标识更新方法的流程图,本实施例的技术方案适用于在异步调用场景下各微服务器保持同一请求流水标识的情况,该方法可以由微服务的请求标识更新装置执行,该装置可以由软件和/或硬件来实现,并可以集成在各种通用计算机设备中,具体包括如下步骤:
步骤110、响应于第一微服务发起的服务调用请求,触发调用第二微服务。
本实施例中,针对用户发起的一个业务请求,可能需要调用多个微服务去处理,为了提高处理效率,可以针对每个微服务都开一个单独线程去处理相关业务,即通过异步的方式提高处理效率,具体的,在用户发起的业务请求处理过程中由第一微服务发起服务调用请求,触发调用第二微服务处理相关业务。
示例性的,针对用户发起的业务请求,需要调用微服务A和微服务B去处理相关业务,在同步调用的情况下,先由微服务A执行相关任务,在微服务A返回执行结果后,微服务B再开始执行任务,为了提高执行效率,采用异步调用的方式,即不需要等待微服务A返回执行结果后再由微服务B开始执行任务,二者可以同时执行,在微服务A执行任务的同时,由微服务A发起服务调用请求,触发调用微服务B。
步骤120、通过前置拦截器,获取服务调用请求所属业务请求的请求流水标识,并将请求流水标识写入被调用的第二微服务中;
其中,业务请求对应多个微服务,各微服务对应不同的线程。
本实施例中,在执行用户发起的业务请求时,若采用异步调用的方式,则会针对每个微服务都开一个单独线程去处理相关业务,这种方式会导致各微服务器中使用的请求流水标识各不相同,当执行业务请求过程中出现问题时,无法根据唯一的请求流水标识去定位与当前处理的业务请求对应的问题。因此,设置了前置拦截器,在第一微服务发起服务调用请求,触发调用第二微服务时,由前置拦截器从第一微服务获取服务调用请求所属业务请求的请求流水标识,然后将这一请求流水标识写入被调用的第二微服务中,可以保证在业务请求被处理过程中,所涉及的多个微服务中的请求流水标识一致。其中,业务请求对应多个微服务,各微服务对应不同线程。
示例性的,在微服务A发起调用微服务B的服务调用请求后,在微服务B执行具体的调用逻辑之前,由前置拦截器从微服务A中获取当前业务请求的请求流水标识,然后将请求流水标识写入微服务B中,保证当前业务请求所涉及的所有微服务都使用统一的请求流水标识,便于问题定位。
本发明实施例的技术方案,响应于第一微服务发起的服务调用请求,触发调用第二微服务,然后通过前置拦截器,获取服务调用请求所属业务请求的请求流水标识,并将请求流水标识写入被调用的第二微服务中,解决了异步调用情况下,针对同一业务请求,各微服务不能保持同一个请求流水标识导致问题难以定位的问题,实现在异步场景下,一个业务请求所涉及的多个微服务保持同一个请求流水标识,降低问题排查定位的复杂度。
实施例二
图2为本发明实施例二中的一种微服务的请求标识更新方法的流程图,本实施例在上述实施例的基础上进一步细化,提供了通过前置拦截器,获取所述服务调用请求所属业务请求的请求流水标识的具体步骤。下面结合图2对本发明实施例二提供的一种微服务的请求标识更新方法进行说明,包括以下步骤:
步骤210、响应于第一微服务发起的服务调用请求,触发调用第二微服务。
步骤220、通过前置拦截器,获取服务调用请求所属业务请求的请求上下文信息。
本实施例中,在第一微服务向第二微服务发起服务调用请求后,在第二微服务执行相关调用逻辑之前,通过前置拦截器从第一微服务中获取服务调用请求所述业务请求的请求上下文信息,其中,请求上下文信息包括请求流水标识、调用发起方来源等。
示例性的,在微服务A向微服务B发起服务调用指令后,由前置拦截器从微服务A中获取请求上下文信息,具体为,获取请求流水标识和调用发起方来源,其中,请求流水标识是当前业务请求的唯一标识,调用发起方来源可以是部署微服务A的机器的IP地址(Internet Protocol Address,互联网协议地址)。
步骤230、获取请求上下文信息中包含的请求流水标识,并将请求流水标识写入被调用的第二微服务中;
其中,业务请求对应多个微服务,各微服务对应不同的线程。
本实施例中,在拦截器获取到服务调用请求所属业务请求的请求上下文信息后,获取请求上下文信息中包含的请求流水标识,并将请求流水标识写入调用的第二微服务中,以使第二微服务所使用的请求流水标识与第一微服务一致。
示例性的,从请求上下文信息中按照设定格式,取出请求流水标识,将请求流水标识写入到第二微服务中,替换第二微服务对应线程启动时生成的请求流水标识,保证业务请求所涉及的多个微服务使用的请求流水标识一致。
可选的,第二微服务的业务接口预先封装了自定义标签;
通过前置拦截器,获取服务调用请求所属业务请求的请求流水标识,并将请求流水标识写入被调用的第二微服务中,包括:
通过前置拦截器扫描第二微服务,确定第二微服务的业务接口是否预先封装了自定义标签;
若是,则通过前置拦截器,获取服务调用请求所属业务请求的请求流水标识,并将请求流水标识写入被调用的第二微服务中。
本可选的实施例中,定义了第二微服务的业务接口预先封装了自定义标签,并提供了通过前置拦截器,获取服务调用请求所属业务请求的请求流水标识,并将请求流水标识写入被调用的第二微服务中的具体方式,首先通过前置拦截器扫描第二微服务,判断第二微服务的业务接口是否预先封装了自定义标签,若是,则通过前置拦截器获取服务调用请求所属业务请求的请求流水标识,并将请求流水标识写入被调用的第二微服务中,也就是说,拦截器只对预先使用了自定义标签的接口执行上述请求流水标识写入操作。
可选的,自定义标签为注解标签。
本可选的实施例中,定义了上述自定义标签为注解标签,即预先在需要被调用的微服务中添加注解标签,在加入注解标签的微服务被调用时,会启动拦截器获取请求流水标识,并写入到被调用的微服务中,不需要将请求流水标识在各微服务接口间作为参数进行传递,可以降低对业务代码的入侵。
步骤240、通过第二微服务执行匹配的调用逻辑。
本实施例中,在将请求流水标识写入到第二微服务后,通过第二微服务执行匹配的调用逻辑,在执行该过程中,会生成包含上述请求流水标识的调用日志,当程序运行出现问题时,可以通过上述请求流水标识来确定请求日志中与当前处理的业务请求相关的内容,降低了问题定位的难度。
本发明实施例的技术方案,首先响应于第一微服务发起的服务调用请求,触发调用第二微服务,然后通过前置拦截器,获取服务调用请求所属业务请求的请求上下文信息,并获取请求上下文信息中包含的请求流水标识,最终将请求流水标识写入被调用的第二微服务中,并通过第二微服务执行匹配的调用逻辑,一方面,可以在异步场景下,使一个业务请求所涉及的多个微服务保持同一个请求流水标识,降低问题排查定位的复杂度,另一方面,通过注解的方式对被调用微服务的业务接口进行封装,不需要将请求流水标识在各微服务接口间作为参数进行传递,可以降低对业务代码的入侵,提高业务的可理解性。
实施例三
图3为本发明实施例三中的一种异步日志的生成方法的流程图,本实施例的技术方案适用于在异步调用场景下各微服务器保持同一请求流水标识的情况,该方法可以由异步日志的生成装置执行,该装置可以由软件和/或硬件来实现,并可以集成在各种通用计算机设备中,具体包括如下步骤:
步骤310、响应于第一微服务发起的服务调用请求,触发调用第二微服务。
本实施例中,针对用户发起的一个业务请求,可能需要调用多个微服务去处理,为了提高处理效率,可以针对每个微服务都开一个单独线程去处理相关业务,即通过异步的方式去提高处理效率,具体的,在用户发起的业务请求处理过程中由第一微服务发起服务调用请求,触发调用第二微服务处理相关业务。
步骤320、通过前置拦截器,获取服务调用请求所属业务请求的请求流水标识,并将请求流水标识写入被调用的第二微服务中,业务请求对应多个微服务,各微服务对应不同的线程。
本实施例中,在执行用户发起的业务请求时,若采用异步调用的方式,则会针对每个微服务都开一个单独线程去处理相关业务,这种方式会导致各微服务器中使用的请求流水标识各不相同,当执行业务请求过程中出现问题时,无法根据唯一的请求流水标识去定位与当前处理的业务请求对应的问题。因此,设置了前置拦截器,在第一微服务发起服务调用请求,触发调用第二微服务时,由前置拦截器从第一微服务获取服务调用请求所属业务请求的请求流水标识,然后将这一请求流水标识写入被调用的第二微服务中,可以保证在业务请求被处理过程中,所涉及的多个微服务中的请求流水标识一致。
步骤330、通过第二微服务执行匹配的调用逻辑,并在执行调用逻辑过程中,生成包含请求流水标识的请求日志。
本实施例中,在将服务调用请求所属业务请求的请求流水标识写入到第二微服务后,由第二微服务执行匹配的调用逻辑,并在执行调用逻辑过程中,生成包含请求流水标识的请求日志,当程序运行出现问题时,可以通过上述请求流水标识来确定请求日志中与当前处理的业务请求相关的内容,降低了问题定位的难度。
本发明实施例的技术方案,响应于第一微服务发起的服务调用请求,触发调用第二微服务,然后通过前置拦截器,获取服务调用请求所属业务请求的请求流水标识,并将请求流水标识写入被调用的第二微服务中,最终通过第二微服务执行匹配的调用逻辑,并在执行调用逻辑过程中,生成包含请求流水标识的请求日志,解决了异步调用情况下,针对同一业务请求,各微服务不能保持同一个请求流水标识导致问题难以定位的问题,实现在异步场景下,一个业务请求所涉及的多个微服务保持同一个请求流水标识,降低问题排查定位的复杂度。
实施例四
图4为本发明实施例四提供的一种微服务的请求标识更新装置的结构示意图,该微服务的请求标识更新装置,包括:第二微服务调用模块410和请求流水标识写入模块420。
第二微服务调用模块410,用于响应于第一微服务发起的服务调用请求,触发调用第二微服务;
请求流水标识写入模块420,用于通过前置拦截器,获取所述服务调用请求所属业务请求的请求流水标识,并将所述请求流水标识写入被调用的第二微服务中;
其中,所述业务请求对应多个微服务,各微服务对应不同的线程。
本发明实施例的技术方案,响应于第一微服务发起的服务调用请求,触发调用第二微服务,然后通过前置拦截器,获取服务调用请求所属业务请求的请求流水标识,并将请求流水标识写入被调用的第二微服务中,解决了异步调用情况下,针对同一业务请求,各微服务不能保持同一个请求流水标识导致问题难以定位的问题,实现在异步场景下,一个业务请求所涉及的多个微服务保持同一个请求流水标识,降低问题排查定位的复杂度。
可选的,所述请求流水标识写入模块420,具体用于:
通过前置拦截器,获取所述服务调用请求所属业务请求的请求上下文信息;
获取所述请求上下文信息中包含的所述请求流水标识。
可选的,所述第二微服务的业务接口预先封装了自定义标签;
所述请求流水标识写入模块420,具体用于:
通过所述前置拦截器扫描所述第二微服务,确定所述第二微服务的业务接口是否预先封装了所述自定义标签;
若是,则通过前置拦截器,获取所述服务调用请求所属业务请求的请求流水标识,并将所述请求流水标识写入被调用的第二微服务中。
可选的,所述自定义标签为注解标签。
可选的,所述微服务的请求标识更新装置,还包括:
逻辑执行模块,用于通过所述第二微服务执行匹配的调用逻辑。
本发明实施例所提供的微服务的请求标识更新装置可执行本发明任意实施例所提供的微服务的请求标识更新方法,具备执行方法相应的功能模块和有益效果。
实施例五
图5为本发明实施例五提供的一种异步日志的生成装置的结构示意图,该异步日志的生成装置,包括:第二微服务调用模块510、请求流水标识写入模块520和请求日志生成模块530。
第二微服务调用模块510,用于响应于第一微服务发起的服务调用请求,触发调用第二微服务;
请求流水标识写入模块520,用于通过前置拦截器,获取所述服务调用请求所属业务请求的请求流水标识,并将所述请求流水标识写入被调用的第二微服务中,所述业务请求对应多个微服务,各微服务对应不同的线程;
请求日志生成模块530,用于通过所述第二微服务执行匹配的调用逻辑,并在执行调用逻辑过程中,生成包含所述请求流水标识的请求日志。
本发明实施例的技术方案,响应于第一微服务发起的服务调用请求,触发调用第二微服务,然后通过前置拦截器,获取服务调用请求所属业务请求的请求流水标识,并将请求流水标识写入被调用的第二微服务中,最终通过第二微服务执行匹配的调用逻辑,并在执行调用逻辑过程中,生成包含请求流水标识的请求日志,解决了异步调用情况下,针对同一业务请求,各微服务不能保持同一个请求流水标识导致问题难以定位的问题,实现在异步场景下,一个业务请求所涉及的多个微服务保持同一个请求流水标识,降低问题排查定位的复杂度。
本发明实施例所提供的异步日志的生成装置可执行本发明任意实施例所提供的异步日志的生成方法,具备执行方法相应的功能模块和有益效果。
实施例六
图6为本发明实施例六提供的一种电子设备的结构示意图,如图6所示,该电子设备包括处理器60和存储器61;设备中处理器60的数量可以是一个或多个,图6中以一个处理器60为例;设备中的处理器60和存储器61可以通过总线或其它方式连接,图6中以通过总线连接为例。
存储器61作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的一种微服务的请求标识更新方法或者异步日志的生成方法对应的程序指令/模块(例如,微服务的请求标识更新装置中的第二微服务调用模块410和请求流水标识写入模块420,或者异步日志的生成装置中的第二微服务调用模块510、请求流水标识写入模块520和请求日志生成模块530)。处理器60通过运行存储在存储器61中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的微服务的请求标识更新方法或者异步日志的生成方法。
微服务的请求标识更新方法包括:
响应于第一微服务发起的服务调用请求,触发调用第二微服务;
通过前置拦截器,获取所述服务调用请求所属业务请求的请求流水标识,并将所述请求流水标识写入被调用的第二微服务中;
其中,所述业务请求对应多个微服务,各微服务对应不同的线程。
异步日志的生成方法包括:
响应于第一微服务发起的服务调用请求,触发调用第二微服务;
通过前置拦截器,获取所述服务调用请求所属业务请求的请求流水标识,并将所述请求流水标识写入被调用的第二微服务中,所述业务请求对应多个微服务,各微服务对应不同的线程;
通过所述第二微服务执行匹配的调用逻辑,并在执行调用逻辑过程中,生成包含所述请求流水标识的请求日志。
存储器61可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器61可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其它非易失性固态存储器件。在一些实例中,存储器61可进一步包括相对于处理器60远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实施例七
本发明实施例七还提供一种其上存储有计算机程序的计算机可读存储介质,所述计算机程序在由计算机处理器执行时用于执行一种微服务的请求标识更新方法或者异步日志的生成方法。
微服务的请求标识更新方法包括:
响应于第一微服务发起的服务调用请求,触发调用第二微服务;
通过前置拦截器,获取所述服务调用请求所属业务请求的请求流水标识,并将所述请求流水标识写入被调用的第二微服务中;
其中,所述业务请求对应多个微服务,各微服务对应不同的线程。
异步日志的生成方法包括:
响应于第一微服务发起的服务调用请求,触发调用第二微服务;
通过前置拦截器,获取所述服务调用请求所属业务请求的请求流水标识,并将所述请求流水标识写入被调用的第二微服务中,所述业务请求对应多个微服务,各微服务对应不同的线程;
通过所述第二微服务执行匹配的调用逻辑,并在执行调用逻辑过程中,生成包含所述请求流水标识的请求日志。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述一种微服务的请求标识更新装置和一种微服务的请求标识更新装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其它等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (7)
1.一种微服务的请求标识更新方法,其特征在于,包括:
响应于第一微服务发起的服务调用请求,触发调用第二微服务;
通过前置拦截器,获取所述服务调用请求所属业务请求的请求流水标识,并将所述请求流水标识写入被调用的第二微服务中;
其中,所述业务请求对应多个微服务,各微服务对应不同的线程;
通过前置拦截器,获取所述服务调用请求所属业务请求的请求流水标识,包括:
通过前置拦截器,获取所述服务调用请求所属业务请求的请求上下文信息;
获取所述请求上下文信息中包含的所述请求流水标识;
所述第二微服务的业务接口预先封装了自定义标签;
通过前置拦截器,获取所述服务调用请求所属业务请求的请求流水标识,并将所述请求流水标识写入被调用的第二微服务中,包括:
通过所述前置拦截器扫描所述第二微服务,确定所述第二微服务的业务接口是否预先封装了所述自定义标签;
若是,则通过前置拦截器,获取所述服务调用请求所属业务请求的请求流水标识,并将所述请求流水标识写入被调用的第二微服务中;
所述自定义标签为注解标签。
2.根据权利要求1所述的方法,其特征在于,在通过前置拦截器将所述请求流水标识写入被调用的第二微服务中之后,还包括:
通过所述第二微服务执行匹配的调用逻辑。
3.一种异步日志的生成方法,其特征在于,包括:
响应于第一微服务发起的服务调用请求,触发调用第二微服务;
通过前置拦截器,获取所述服务调用请求所属业务请求的请求流水标识,并将所述请求流水标识写入被调用的第二微服务中,所述业务请求对应多个微服务,各微服务对应不同的线程;
通过所述第二微服务执行匹配的调用逻辑,并在执行调用逻辑过程中,生成包含所述请求流水标识的请求日志;
通过前置拦截器,获取所述服务调用请求所属业务请求的请求流水标识,包括:
通过前置拦截器,获取所述服务调用请求所属业务请求的请求上下文信息;
获取所述请求上下文信息中包含的所述请求流水标识;
所述第二微服务的业务接口预先封装了自定义标签;
通过前置拦截器,获取所述服务调用请求所属业务请求的请求流水标识,并将所述请求流水标识写入被调用的第二微服务中,包括:
通过所述前置拦截器扫描所述第二微服务,确定所述第二微服务的业务接口是否预先封装了所述自定义标签;
若是,则通过前置拦截器,获取所述服务调用请求所属业务请求的请求流水标识,并将所述请求流水标识写入被调用的第二微服务中;
所述自定义标签为注解标签。
4.一种微服务的请求标识更新装置,其特征在于,包括:
第二微服务调用模块,用于响应于第一微服务发起的服务调用请求,触发调用第二微服务;
请求流水标识写入模块,用于通过前置拦截器,获取所述服务调用请求所属业务请求的请求流水标识,并将所述请求流水标识写入被调用的第二微服务中;
其中,所述业务请求对应多个微服务,各微服务对应不同的线程;
所述请求流水标识写入模块,具体用于:
通过前置拦截器,获取所述服务调用请求所属业务请求的请求上下文信息;
获取所述请求上下文信息中包含的所述请求流水标识;
所述第二微服务的业务接口预先封装了自定义标签;
所述请求流水标识写入模块,用于:
通过所述前置拦截器扫描所述第二微服务,确定所述第二微服务的业务接口是否预先封装了所述自定义标签;
若是,则通过前置拦截器,获取所述服务调用请求所属业务请求的请求流水标识,并将所述请求流水标识写入被调用的第二微服务中;
所述自定义标签为注解标签。
5.一种异步日志的生成装置,其特征在于,包括:
第二微服务调用模块,用于响应于第一微服务发起的服务调用请求,触发调用第二微服务;
请求流水标识写入模块,用于通过前置拦截器,获取所述服务调用请求所属业务请求的请求流水标识,并将所述请求流水标识写入被调用的第二微服务中,所述业务请求对应多个微服务,各微服务对应不同的线程;
请求日志生成模块,用于通过所述第二微服务执行匹配的调用逻辑,并在执行调用逻辑过程中,生成包含所述请求流水标识的请求日志;
所述请求流水标识写入模块,具体用于:
通过前置拦截器,获取所述服务调用请求所属业务请求的请求上下文信息;
获取所述请求上下文信息中包含的所述请求流水标识;
所述第二微服务的业务接口预先封装了自定义标签;
所述请求流水标识写入模块,用于:
通过所述前置拦截器扫描所述第二微服务,确定所述第二微服务的业务接口是否预先封装了所述自定义标签;
若是,则通过前置拦截器,获取所述服务调用请求所属业务请求的请求流水标识,并将所述请求流水标识写入被调用的第二微服务中;
所述自定义标签为注解标签。
6.一种电子设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-2中任一所述的微服务的请求标识更新方法,或者权利要求3所述的异步日志的生成方法。
7.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-2中任一所述的微服务的请求标识更新方法,或者权利要求3所述的异步日志的生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010697784.3A CN111865978B (zh) | 2020-07-20 | 2020-07-20 | 一种微服务的请求标识更新方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010697784.3A CN111865978B (zh) | 2020-07-20 | 2020-07-20 | 一种微服务的请求标识更新方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111865978A CN111865978A (zh) | 2020-10-30 |
CN111865978B true CN111865978B (zh) | 2022-11-15 |
Family
ID=73001308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010697784.3A Active CN111865978B (zh) | 2020-07-20 | 2020-07-20 | 一种微服务的请求标识更新方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111865978B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112667371A (zh) * | 2020-12-07 | 2021-04-16 | 深圳市远行科技股份有限公司 | 异步任务的处理方法、装置、设备及存储介质 |
CN112612595A (zh) * | 2020-12-29 | 2021-04-06 | 太平金融科技服务(上海)有限公司 | 微服务调用关系建立方法、装置、计算机设备和存储介质 |
CN116881040A (zh) * | 2023-09-08 | 2023-10-13 | 杭州小电科技股份有限公司 | 一种业务操作处理方法、装置、电子装置和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740376A (zh) * | 2016-01-27 | 2016-07-06 | 北京铭万智达科技有限公司 | 一种微服务中api调用统计和监控的方法 |
CN106850782A (zh) * | 2017-01-17 | 2017-06-13 | 泰康保险集团股份有限公司 | 用于日志处理的方法和系统 |
CN110445643A (zh) * | 2019-07-25 | 2019-11-12 | 泰康保险集团股份有限公司 | 异步微服务调用链路跟踪方法、装置、介质及电子设备 |
CN110580234A (zh) * | 2019-08-22 | 2019-12-17 | 广州易起行信息技术有限公司 | 适用于微服务器与外部系统之间的熔断方法 |
CN111277643A (zh) * | 2020-01-18 | 2020-06-12 | 深圳市麦谷科技有限公司 | 一种http链路跟踪记录方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105808414A (zh) * | 2016-03-08 | 2016-07-27 | 联想(北京)有限公司 | 一种日志处理方法及日志处理电子设备 |
US10411973B2 (en) * | 2017-03-20 | 2019-09-10 | Red Hat, Inc. | Automatic microservice problem detection in enterprise applications |
CN110764980A (zh) * | 2019-09-06 | 2020-02-07 | 华为技术有限公司 | 日志处理方法和装置 |
-
2020
- 2020-07-20 CN CN202010697784.3A patent/CN111865978B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740376A (zh) * | 2016-01-27 | 2016-07-06 | 北京铭万智达科技有限公司 | 一种微服务中api调用统计和监控的方法 |
CN106850782A (zh) * | 2017-01-17 | 2017-06-13 | 泰康保险集团股份有限公司 | 用于日志处理的方法和系统 |
CN110445643A (zh) * | 2019-07-25 | 2019-11-12 | 泰康保险集团股份有限公司 | 异步微服务调用链路跟踪方法、装置、介质及电子设备 |
CN110580234A (zh) * | 2019-08-22 | 2019-12-17 | 广州易起行信息技术有限公司 | 适用于微服务器与外部系统之间的熔断方法 |
CN111277643A (zh) * | 2020-01-18 | 2020-06-12 | 深圳市麦谷科技有限公司 | 一种http链路跟踪记录方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111865978A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111865978B (zh) | 一种微服务的请求标识更新方法、装置、设备及介质 | |
CN110750315B (zh) | Android系统中的类加载方法、装置、设备和存储介质 | |
CN109471776B (zh) | 一种基于以太网的VxWorks操作系统日志收集方法 | |
CN113419815B (zh) | 一种预启动运行环境装机的方法、系统、设备及介质 | |
CN111597061A (zh) | 一种客户端或服务端进行远程过程调用方法及装置 | |
WO2022217759A1 (zh) | 一种eSIM码号管理方法及装置 | |
CN114710549A (zh) | 一种容器平台中网卡的动态管理方法、系统及业务节点 | |
CN107861821B (zh) | 模块调用关系的挖掘方法、装置及计算机可读介质 | |
CN109933411B (zh) | 一种在线修改虚拟机内部配置系统及方法 | |
CN112732513B (zh) | 内存监控方法、装置、计算机可读存储介质和计算机设备 | |
US9537931B2 (en) | Dynamic object oriented remote instantiation | |
CN113031569B (zh) | 一种核聚变控制系统的监听方法、系统、终端及介质 | |
CN114827115A (zh) | 容器内Web服务的访问方法、装置、电子设备及存储介质 | |
CN115033407A (zh) | 一种适用于云计算的采集识别流量的系统和方法 | |
CN112379952B (zh) | 一种跨进程回调的实现方法 | |
CN114756229A (zh) | 基于微前端的开发页面生成方法及其相关装置 | |
CN114598604A (zh) | 虚拟网络功能实例信息的监控方法、监控装置及终端 | |
CN111522594A (zh) | 组件调用方法、装置、系统、服务器及可读介质 | |
CN112328267A (zh) | 一种多台服务器安装方法、装置、终端及存储介质 | |
CN111124923B (zh) | 运行状态查询方法、装置、服务器设备及存储介质 | |
CN107819707B (zh) | 数据处理的方法、装置、物理机、虚拟交换机与系统 | |
CN110943895A (zh) | 一种网关机、基于Linux系统的网络数据处理方法及装置 | |
CN110825477A (zh) | 图形界面的加载方法、装置、设备及存储介质 | |
CN114143244B (zh) | 一种报文处理方法、装置、存储介质及网关设备 | |
CN114461431A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |