Zipkin架构简介

31次阅读

共计 591 个字符,预计需要花费 2 分钟才能阅读完成。

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 架构

先看一下架构图

其中左边部分代表了客户端分别为:

  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 界面提供查询存储中的数据的接口

正文完
 0