spring-cloud-sleuth 3.x的版本传递traceId和自定义属性

目录

要做的目标

思路

实现

A.依赖

B.代码编写

C:使用功能方增加依赖上上一步封装的jar包

模拟测试


为了简化后续做类似功能的童鞋操作,故整理一篇针对traceId和自定义属性全链路传递的处理操作,整体调试流程还是耽误了不少时间的。

要做的目标

实现全链路traceId传递,自定义全链路traceUrl标记(traceUrl的规则是比如:比如A-》B-》 C 这样得到的就是 traceUrl=/A/B/C)

思路

1.依赖sleuth传递各种信息 ,使用方式遵循它的规则

2.feign调用处增加处理标记逻辑

3.web服务入口处增加拦截处理标记逻辑

4.异步线程池处理逻辑(sleuth自带功能)

实现

1.项目封装一个基础的jar包,比如trace-jar

A.依赖


    org.springframework.cloud
    spring-cloud-starter-sleuth


    javax.servlet
    javax.servlet-api


    org.springframework.cloud
    spring-cloud-starter-openfeign


    
        
            org.springframework.cloud
            spring-cloud-dependencies
            ${spring-cloud.version}
            pom
            import
        
        
            
            org.springframework.boot
            spring-boot-dependencies
            ${spring-boot.version}
            pom
            import
        
    

B.代码编写

//AOP处理feign逻辑前

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspect

你可能感兴趣的:(spring-cloud,sleuth,trace,spring,cloud)