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

其中左邊部分表明了客戶端分別爲:segmentfault

  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

相關文章
相關標籤/搜索