Sleuth 與 Zipkin

隨着業務發展,系統拆分導致系統調用鏈路愈發複雜,一個前端請求可能最終需要調用很多次後端服務才能完成,當整個請求變慢或不可用時,我們是無法得知該請求是由某個或某些後端服務引起的,這時就需要解決如何快讀定位服務故障點,以對症下藥。於是就有了分佈式系統調用跟蹤的誕生。

服務追蹤的追蹤單元是從客戶發起請求(request)抵達被追蹤系統的邊界開始,到被追蹤系統向客戶返回響應(response)爲止的過程,稱爲一個 trace。每個trace中會調用若干個服務,爲了記錄調用了哪些服務,以及每次調用的消耗時間等信息,在每次調用服務時,埋入一個調用記錄,稱爲一個 span。這樣,若干個有序的span就組成了一個trace。在系統向外界提供服務的過程中,會不斷地有請求和響應發生,也就會不斷生成trace,把這些帶有span的trace記錄下來,就可以描繪出一幅系統的服務拓撲圖。附帶上span中的響應時間,以及請求成功與否等信息,就可以在發生問題的時候,找到異常的服務;根據歷史數據,還可以從系統整體層面分析出哪裏性能差,定位性能優化的目標。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章