框架对比

GoogleDrapper

DapperGoogle生产环境下的分布式跟踪系统,Dapper有三个设计目标:

  • 低消耗:跟踪系统对在线服务的影响应该做到足够小。
  • 应用级的透明:对于应用的程序员来说,是不需要知道有跟踪系统这回事的。如果一个跟踪系统想生效,就必须需要依赖应用的开发者主动配合,那么这个跟踪系统显然是侵入性太强的。
  • 延展性:Google至少在未来几年的服务和集群的规模,监控系统都应该能完全把控住。

Drapper的日志格式,用span来表示一个服务调用开始和结束的时间,也就是时间区间。Dapper记录了span的名称以及每个spanID和父ID,如果一个span没有父ID被称之为root span。所有的span都挂在一个特定的trace上,共用一个traceID,这些ID用全局64位整数标示。

img

Drapper如何进行跟踪收集:

img

分为3个阶段:各个服务将span数据写到本机日志上;Dapper守护进程进行拉取,将数据读到dapper收集器里;Dapper收集器将结果写到bigtable中,一次跟踪被记录为一行。

淘宝的鹰眼

关于淘宝的鹰眼系统,主要资料来自于内部分享,

img

鹰眼埋点和生成日志:

img

如何抓取和存储日志:

img

鹰眼的实现小结:

img

下一页