全部產品
Search
文件中心

Application Real-Time Monitoring Service:調用鏈

更新時間:Feb 09, 2025

調用鏈是指在分布式系統中,由多個服務相互調用形成的一系列調用關係。每當一個服務調用另一個服務時,就會形成一個調用鏈。調用鏈可以顯示出服務之間的調用順序和層次關係,協助開發人員理解和追蹤代碼的執行流程。

調用鏈的作用

在分布式系統中,一個請求往往需要通過多個服務來完成。當出現問題時,如請求逾時、錯誤或異常,很難快速定位問題所在。調用鏈可以協助營運人員解決以下問題:

  • 故障排查:當請求失敗或出現錯誤時,調用鏈可以顯示整個請求的路徑和每個服務的執行情況,從而協助營運人員快速定位問題所在。

  • 效能最佳化:通過調用鏈,營運人員可以瞭解請求在系統中的執行時間和瓶頸所在,從而進行最佳化。

  • 系統監測:調用鏈可以提供即時的系統監測和分析,協助營運人員瞭解系統的健康情況和資源利用情況。

常用術語

Trace

一個Trace代表一次請求或事務從開始到結束的完整執行過程。例如來自用戶端的一個請求從接收到處理完成的過程就是一個Trace。Trace可以看作是一個樹狀結構,其中包含了多個Span。每個Trace都被賦予一個唯一的 TraceID,它在一個請求的整個調用鏈中保持不變。當需要追蹤或調試整個請求流程時,可以通過Trace ID檢索所有相關的資訊。

Span

Span是分布式追蹤的最小跟蹤單位,代表調用鏈中的一個單獨的邏輯操作,可以是一次方法調用、一個程式塊的調用、或者一次RPC/資料庫訪問等。每個Span都有SpanID,並記錄操作的開始時間和結束時間。Span還會記錄ParentSpanID,即當前Span是由哪個上遊Span調用的,表示調用關係中的父子關係。Span之間通過父子關係連結,形成一個調用鏈。