知识卡片
分布式追踪:追踪单个请求穿越微服务的路径
内容
一体化应用里请求从进入到返回的路径是直观可见的,但拆成微服务架构后,同一个请求可能穿越几十上百个服务,没有健壮的监控实践就完全无法判断请求经过了哪些服务、在哪一环出现了延迟或错误。分布式追踪(源自 Google Dapper 论文、由 Zipkin 率先在 Google 之外实现)的解法是给每个进入系统的请求打上一个唯一请求ID,这个ID伴随请求流经的每一个服务,从而能重建出该请求完整的调用链路和各环节耗时。它和常规指标的本质区别在于关注单个具体请求的完整路径,而不是像指标那样只看聚合后的平均水平。发散:分布式追踪本质是在补偿微服务架构拆分服务边界时丢失的”请求全局视角”,架构拆得越碎,这种全局视角的缺失就越致命,也就越需要专门的工具把它找回来。
参考来源
《监控运维实践 原则与策略-2021》第7章《应用程序监控》