skywalking是一個apm系統,包含監控,追蹤,並擁有故障診斷能力的分佈式系統。
從上面簡單的架構圖上可以看出幾點:
- skywalking分了數據採集(Tracing,Metrics),數據分析/查詢,數據存儲和UI四個大模塊。
- 數據收集的調用鏈數據包含了不同格式的數據,包括zipkin和自己的四種,就是說調用鏈數據的數據模型和其他幾種分佈式鏈路工具的數據模型是一樣的,可能UI也可以通用。能夠通用的原因可能是幾種產品都是基於opentracing協議的。這一點我不是很明白,後面看代碼怎麼實現的。
- 數據收集以後直接通過grpc協議上報到分析平臺,分析平臺包含了分析和查詢。並能處理調用鏈和指標的數據。
- 數據的存儲支持多種數據庫。
有空大家可以直接看github上的資料:apache/skywalking