iT邦幫忙

2021 iThome 鐵人賽

DAY 14
0
DevOps

中台化轉型系列 第 14

基礎建設:分散式服務追蹤

微服務系統之間的呼叫鏈結可能錯縱複雜,除了系統日誌(Logging)和監控指標(Metrics),鏈結追蹤(Tracing)提供了服務間的關聯索引和鏈結分析的功能。

  • 故障定位:描述服務請求的完整邏輯軌跡,定位服務故障的來源及路徑,協助故障排除分析。
  • 資料分析:收集服務的性能、延遲和負載等監控指標,輔助用戶資料及服務狀態分析。
  • 依賴分析:服務間的依賴關係可視化。

Google Dapper 大規模分散式系統的跟蹤系統

  • 系統日誌收集:利用各種語言SDK將鏈結追蹤數據導入訊息佇列。
    • 元資料(metadata):紀錄TraceID、SpanID、用戶代碼與時間戳記
      • TraceID:於前端注入(Injection) RPC Header中,標記一次完整的服務請求鏈結,用以描繪呼叫拓樸(Topology)和運行序列。
      • SpanID:紀錄跨程序(Process)的請求呼叫,一次完整的的服務請求鏈結(TraceID)可能由多個互相呼叫銜接的跨程序請求呼叫(SpanID)組成,視覺化構成樹狀的拓樸圖形。
    • 詳細資料:請求參數(Request)、回應結果(Response)與效能指標
  • 系統日誌處理:索引服務及分散式儲存
    • 元資料(metadata):Elasticsearch
    • 詳細資料:HBase
  • 鏈結查詢平台:利用索引服務查詢TraceID,利用TraceID查詢儲存於分散式資料庫中的詳細資料。

分散式服務追蹤


上一篇
基礎建設: 系統監控與告警
下一篇
機器學習:建模方法
系列文
中台化轉型30

尚未有邦友留言

立即登入留言