资料内容:
概述
随着微服务架构的流⾏,⼀个请求可能跨越多个服务完成处理过程。为了更好地跟踪和理解整个请求流 程,引⼊了分布式追踪(DistributedTracing)的概念。其中,traceId是⼀个⾮常重要的组成部分,它 帮助我们唯⼀标识⼀次完整的⽤户请求,并通过这个ID将分散于不同服务中的⽇志关联起来,从⽽便于问 题定位与性能优化。
为什么需要TraceID
1.提⾼调试效率:当系统出现故障时,通过traceId可以快速找到相关的所有⽇志记录,⽽不需要⼿动搜 索每个服务的⽇志。 2.简化监控难度:结合其他监控⼯具,能够更直观地展⽰出各个服务之间的依赖关系及其健康状况。 3.⽀持跨服务事务管理:某些情况下,单个业务操作可能涉及多服务协作完成,在这种场景下,利⽤统⼀ 的traceId有助于确保数据⼀致性。 4.增强⽤户体验:通过对请求链路进⾏分析,可以帮助识别瓶颈所在并作出相应改进,最终达到提升应⽤ 响应速度的⽬的。
如何⽣成和传递TraceID,使⽤Zipkin+Sleuth
Zipkin:
由Twitter公司开源,开放源代码分布式的跟踪系统,⽤于收集服务的定时数据,以解决微服务架构中的 延迟问题,包括:数据的收集、存储、查找和展现《图形化》。该产品结合spring-cloud-sleuth使⽤较 为简单,集成很⽅便,但是功能较简单。