Zipkin架构简介

Zipkin基本概念
  1. Span:基本工做单元,一次链路调用就会建立一个Span
  2. Trace:一组Span的集合,表示一条调用链路。举个例子:当前存在服务A调用服务B而后调用服务C,这个A->B->C的链路就是一条Trace,而每一个服务例如B就是一个Span,若是在服务B中另起2个线程分别调用了D、E,那么D、E就是B的子Span
Zipkin架构

先看一下架构图web

file

其中左边部分表明了客户端分别为:架构

  1. InstrumentedClient:使用了Zipkin客户端工具的服务调用方
  2. InstrumentedServer:使用了Zipkin客户端工具的服务提供方
  3. Non-InstrumentedServer:未使用Trace工具的服务提供方,固然还可能存在未使用工具的调用方
  4. 总结:一个调用链路是贯穿InstrumentedClient->InstrumentedServer的,每通过一个服务都会以Span的形式经过Transport把通过自身的请求上报的Zipkin服务端中

右边线框内表明了Zipkin的服务端,其中各组件的功能以下:工具

  1. UI:提供web页面,用来展现Zipkin中的调用链和系统依赖关系等
  2. Collector:对各个客户端暴露,负责接受调用数据,支持HTTP、MQ等
  3. Storage:负责与各个存储适配后存储数据,支持内存,MySQL,ES等
  4. API:为web界面提供查询存储中的数据的接口

1

相关文章
相关标签/搜索