zipkin簡介
上圖展示了zipkin的基礎架構,主要由4個核心元件構成:
collector:收集器元件,它主要用於處理從外部系統傳送過來的跟蹤資訊,將這些資訊轉換為zipkin內部處理的span格式,以支援後續的儲存、分析、展示等功能。
storage:儲存元件,它主要對處理收集器接收到的跟蹤資訊,缺省會將這些資訊儲存在記憶體中,我們也可以修改此儲存策略,通過使用其他儲存元件將跟蹤資訊儲存到 資料庫或es 中。
restful api:api元件,它主要用來提供外部訪問介面。比如給客戶端展示跟蹤資訊,或是外接系統訪問以實現監控等。
web ui:ui元件,基於api元件實現的上層應用。通過ui元件使用者可以方便而有直觀地查詢和分析跟蹤資訊。
zipkin相關概念
trace、span、annotations注釋
1、trace
zipkin使用trace結構表示對一次請求的跟蹤,一次請求可能由後台的若干服務負責處理,每個服務的處理是乙個span,span之間有依賴關係,trace就是樹結構的span集合;
2、span
每個服務的處理跟蹤是乙個span,可以理解為乙個基本的工作單元,包含了一些描述資訊:id,parentid,name,timestamp,duration,annotations等,例如:
,id:span id;"timestamp": 1458702548786000,
"value": "cs"}],
"binaryannotations": [}]
}
name:span的名稱,一般是介面方法的名稱;
parentid:
可選的id,當前span的父span id,通過parentid來保證span之間的依賴關係,
如果沒有parentid,表示當前span為根span;
timestamp:
span建立時的時間戳,使用的單位是微秒(而不是毫秒),所有時間戳都有錯誤,
包括主機之間的時鐘偏差以及時間服務重新設定時鐘的可能性,
出於這個原因,span應盡可能記錄其duration;
duration:持續時間使用的單位是微秒(而不是毫秒);
annotations注釋:用於及時記錄事件;有一組核心注釋用於定義rpc請求的開始和結束;
cs:client send,客戶端發起請求;sr:server receive,伺服器接受請求,開始處理;
ss:server send,伺服器完成處理,給客戶端應答;
cr:client receive,客戶端接受應答從伺服器
上圖為一次請求的跟蹤,輸出的日誌依次為:微服務名、traceid、spanid、是否取樣。
Kafka 簡介及基本概念
6.other kafka 是乙個分布式流平台 apache kafka is a distributed streaming platform 功能 應用 幾個認識 1.zookeeper 註冊中心 zookeeper 乙個 分布式協調框架 管理 kafka 集群中的 broker 節點 bin ...
kafka基本概念簡介
按照官方的說法,kafka是乙個分布式流平台。實際使用中kafak主要作為乙個中間人,提供資料非同步處理的能力,同時可以對資料進行不同的處理。比如不同的消費者,對資料進行不一樣的邏輯處理 topic 主題 就是同一類訊息的名稱,例如資料庫的乙個表裡面儲存了同一種型別的資料,同乙個主題處理的也是同一類...
Storm 簡介及元件的基本概念
全量資料處理使用的大多是鼎鼎大名的hadoop或者hive,作為乙個批處理系統,hadoop以其吞吐量大 自動容錯等優點,在海量資料處理上得到了廣泛的使用。但是,hadoop不擅長實時計算,因為它天然就是為批處理而生的,這也是業界一致的共識。否則最近這兩年也不會有s4,storm puma這些實時計...