關於面試題,“什麼是鏈路追蹤”? 我們應該怎麼回答呢? 大家好,我是Mic,一個工作了14年的Java程式員 這個問題,面試官想考察什麼呢? 問題解析 鏈路追蹤是分散式架構下的一種監控方式。 對於一些規模較大的分散式系統,一個用戶的請求,可能需要涉及到多個子系統的流轉。 而且隨著業務的不斷增長,服務 ...
關於面試題,“什麼是鏈路追蹤”?
我們應該怎麼回答呢?
大家好,我是Mic,一個工作了14年的Java程式員
這個問題,面試官想考察什麼呢?
問題解析
鏈路追蹤是分散式架構下的一種監控方式。
對於一些規模較大的分散式系統,一個用戶的請求,可能需要涉及到多個子系統的流轉。
而且隨著業務的不斷增長,服務之間的調用關係也會越來越複雜。
在這樣一個背景下,我們一方面需要去瞭解整個請求鏈路的調用關係,去定位到性能問題。
另一方面還需要從整體到局部展示各項系統指標,快速實現故障定位和回覆。
所以產生了鏈路追蹤的需求。
最早的鏈路監控系統是Google的Dapper,在2010年的時候Google發佈了一篇論文介紹Dapper的整體設計。
目前市面上所有的鏈路監控系統都是在它的理論模型下衍生出來的。
包括阿裡的鷹眼、大眾點評的cat、Twitter的Zipkin等等
有了全鏈路監控工具,解決以下幾個方面的問題:
- 請求鏈路追蹤,故障快速定位:可以通過調用鏈結合業務日誌快速定位錯誤信息。
- 可視化: 各個階段耗時,進行性能分析。
- 依賴優化:各個調用環節的可用性、梳理服務依賴關係以及優化。
- 數據分析,優化鏈路:可以得到用戶的行為路徑,彙總分析應用在很多業務場景。
考察目標
考察這個問題的公司,一般都是有一定規模的中大型互聯網企業。
因為一些小型企業本身的技術架構並不複雜,因此沒必要去做鏈路追蹤這方面的設計,有點浪費資源。
而且這個問題考察的點一般不會太深入,除非是面對比較資深的求職者,可能還會繼續瞭解鏈路追蹤的實現原理。
建議求職者根據自身情況簡單明瞭把這個問題表述清楚即可。
高手:
鏈路追蹤是一種針對分散式架構下實現請求鏈路可視化監控的一種技術。
它的核心目的就是去瞭解分散式系統中的請求調用行為,從而從整體到局部詳細展示各項系統指標。
實現故障的快速定位,縮短故障排除的時間。
常用的鏈路追蹤工具有Zipkin、Skywalking、Cat、Pinpoint。
不過,鏈路追蹤只是分散式鏈路監控工具裡面的核心之一,除此之外,還包括可視化、服務依賴關係的梳理、數據分析等能力。
如果你喜歡我的作品,記得點贊收藏加關註!!!
需要Java面試資料合集掃下方!
版權聲明:本博客所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自
Mic帶你學架構
!
如果本篇文章對您有幫助,還請幫忙點個關註和贊,您的堅持是我不斷創作的動力。歡迎關註「跟著Mic學架構」公眾號公眾號獲取更多技術乾貨!