43 一个完整的分布式追踪系统是什么样子的?

你好,我是周志明。这节课我们来讨论链路追踪的话题。

虽然在2010年之前,就已经有了X-Trace、Magpie等跨服务的追踪系统了,但现代分布式链路追踪公认的起源,是Google在2010年发表的论文《Dapper : a Large-Scale Distributed Systems Tracing Infrastructure》,这篇论文介绍了Google从2004年开始使用的分布式追踪系统Dapper的实现原理。

此后,所有业界有名的追踪系统,无论是国外Twitter的Zipkin、Naver的Pinpoint(Naver是Line的母公司,Pinpoint的出现其实早于Dapper论文的发表,在Dapper论文中还提到了Pinpoint),还是国内阿里的鹰眼、大众点评的CAT、个人开源的SkyWalking(后来进入Apache基金会孵化毕业),都受到了Dapper论文的直接影响。

那么,从广义上讲,一个完整的分布式追踪系统,应该由数据收集、数据存储和数据展示三个相对独立的子系统构成;而从狭义上讲,则就只是特指链路追踪数据的收集部分。比如Spring Cloud Sleuth就属于狭义的追踪系统,通常会搭配Zipkin作为数据展示,搭配Elasticsearch作为数据存储来组合使用。