03-06 分布式鏈路

分布式鏈路

入門篇

簡介

分布式調(diào)用鏈,就是將一次分布式服務群的請求,按著順序還原成調(diào)用鏈路??梢郧宄牟榭匆淮畏植际秸埱蟮恼{(diào)用情況,比如各個節(jié)點上的耗時、請求具體打到了哪臺機器上、每個服務節(jié)點的請求狀態(tài)等等。

基本功能

  • 故障快速定位

  • 各個調(diào)用環(huán)節(jié)的性能分析:平均延時、QPS等

  • 生成調(diào)用拓撲圖

根據(jù)這些功能,可以實現(xiàn)的使用場景

帶來的問題

  • 如何標識一次請求

  • 如何處理調(diào)用順序、調(diào)用分支,如1-1.1-2、1-1.2

  • 開發(fā)如何不用感知

  • 如何不影響系統(tǒng)性能

  • 如何持久化日志信息

基本命令

三大組件

追蹤組件 -- 負責收集數(shù)據(jù)

問題

a. 最初的調(diào)用方是誰?

b. 請求在每個節(jié)點執(zhí)行多長時間、當前節(jié)點的調(diào)用方是誰?

c. 怎么把這些數(shù)據(jù)聯(lián)系起來?

解決

traceId, 標識一次請求

spanId, 標識一個節(jié)點

parentSpanId,標識父節(jié)點

Fegin調(diào)用添加相關header:<u>https://blog.csdn.net/baidu_30744225/article/details/111294383</u>

存儲組件 -- 存儲收集的數(shù)據(jù)

收集
  1. AOP

  2. 攔截器

  3. Javagent

存儲
  • Elk: 日志存儲

  • Mysql: 調(diào)用機器節(jié)點,之后查看拓撲圖,traceId實現(xiàn)分庫分表

展示組件 -- 展示收集的數(shù)據(jù)

高級篇

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容