微服务框架TraceId方案

微服务框架TraceId方案

  • 一、背景与目的
  • 二、MDC机制
  • 三、dubbo框架下TraceId方案
    • 3.1 一次用户请求链路跟踪
      • 3.1.1 web层
      • 3.1.2 RPC调用层
    • 3.2 线程池
    • 3.3 其他

一、背景与目的

在项目中随着项目的业务越来越复杂,以及项目的微服务化等,导致平常的项目中出现如:同一次操作日志散乱等现象,对通过查询日志的方式排查问题造成极大困扰。因此迫切需要一种可以追溯当前链路操作日志的手段。

通过实现traceId功能,获取当前操作链路的以下日志信息:

  1. 当前操作http请求web端有traceId的日志信息
  2. 当前操作java服务端有traceId的dubbo consumer日志信息
  3. 当前操作java服务端有traceId的dubbo provider日志信息
  4. 其他可以串起来的服务日志信息,如MQ、异步线程等…

二、MDC机制

MDC(Mapped Diagnostic Context,映射诊断上下文)是 log4j 和 logback 提供的一种方便在多线程条件下记录

你可能感兴趣的:(Java知识体系个人总结,微服务,java)