一、Zipkin 简介
Zipkin
是一个开放源代码分布式的跟踪系统,每个服务向zipkin报告计时数据,zipkin会根据调用关系通过Zipkin UI生成依赖关系图。
Zipkin
提供了可插拔数据存储方式:In-Memory
、MySql
、Cassandra
以及Elasticsearch
。为了方便在开发环境我直接采用了In-Memory
方式进行存储,生产数据量大的情况则推荐使用Elasticsearch
。
二、Zipkin 基本术语
- Span
基本工作单元,例如,在一个新建的span中发送一个RPC等同于发送一个回应请求给RPC,span通过一个64位ID唯一标识,trace以另一个64位ID表示,span还有其他数据信息,比如摘要、时间戳事件、关键值注释(tags)、span的ID、以及进度ID(通常是IP地址)
span在不断的启动和停止,同时记录了时间信息,当你创建了一个span,你必须在未来的某个时刻停止它。
- Trace
一系列spans组成的一个树状结构,例如,如果你正在跑一个分布式大数据工程,你可能需要创建一个trace。
- Annotation
用来及时记录一个事件的存在,一些核心annotations用来定义一个请求的开