基于zipkin调用链封装starter实现springmvc、dubbo、restTemplate等实现全链路跟踪 。
所有调用链数据都通过过滤器实现埋点并收集、同一条链共享一个traceId、每个节点有唯一的spanId。
- rpc调用:通过隐式传参、dubbo有提供spi在rpc调用之前塞到请求中。参考:dubbo系列六、SPI扩展Filter隐式传参
- http调用:通过servlet过滤器、在请求前放入requestHead中传递、resTemplate也是如此。
- redis和DB等调用:原理相似,可以通过aop在调用前后拦截。
- pom.xml添加maven包
- application.yml添加trace配置
- 在springboot开启注解
详细说明见博客地址: 基于zipkin调用链封装starter实现springmvc、dubbo、restTemplate等实现全链路跟踪