最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

分布式系統(tǒng)下調(diào)用鏈追蹤技術(shù)面試題

 更新時間:2022年03月09日 14:25:03   作者:Q.E.D  
這篇文章主要為大家介紹了分布式系統(tǒng)下調(diào)用鏈追蹤技術(shù)面試問題合集,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪

引言

一個復(fù)雜的分布式系統(tǒng),用戶發(fā)起一個請求,這個請求可能調(diào)用幾十到幾百個服務(wù),經(jīng)過很多業(yè)務(wù)層,而每個業(yè)務(wù)又是多個機(jī)器集群,一個請求具體被隨機(jī)到哪臺機(jī)器上又無法確定,如果最后用戶的請求失敗,只返回一個錯誤提示,作為開發(fā)人員,該如何定位解決問題?你需要定位以下問題:

  • 問題出在哪個服務(wù),是你負(fù)責(zé)的服務(wù)還是調(diào)用別人服務(wù)的某一個環(huán)節(jié)。
  • 同一個服務(wù)集群有多臺機(jī)器,到底要去哪個機(jī)房哪臺機(jī)器定位某條報錯信息。
  • 同一個接口可能有多次請求,到底是哪一次報錯了。
  • 多個服務(wù)之間調(diào)用順序是怎樣的。
  • 如果需要響應(yīng)速度優(yōu)化,到底是哪個環(huán)節(jié)哪個服務(wù)耗時了,如何定位。

1、面試官:

分布式微服務(wù)環(huán)境下那么多機(jī)器,調(diào)用鏈又很長,你們是如何定位問題的?

問題分析這個問題,如果你使用過微服務(wù)框架,對于服務(wù)治理你一定知道這種技術(shù),如果作為微服務(wù)架構(gòu)的小白,你只是知道一些基礎(chǔ)知識,突然被問到這個問題,確實(shí)比較懵逼。這么多機(jī)器集群,我怎么知道每次服務(wù)打到哪個機(jī)器上了,我怎么知道到底是哪個環(huán)節(jié)拋異常了?

我:分布式系統(tǒng)中針對上述問題,我們急需一套鏈路追蹤(Trace)系統(tǒng)來解決這些痛點(diǎn),這個系統(tǒng)主要的任務(wù)就是收集各服務(wù)的日志,上報日志,分析日志,保存展示。其關(guān)鍵核心在于調(diào)用鏈,為每個請求生成全局唯一的ID(Traceld),通過Traceld 將不同系統(tǒng)的“孤立地”調(diào)用信息關(guān)聯(lián)在一起,還原出更多有價值的數(shù)據(jù)。

(如果你還不明白到底怎么搞直接看看成品圖)

圖片描述

通過一個Trace查詢某一次請求,這個Trace是全劇唯一,通過這個鏈路追蹤系統(tǒng),你可以清楚的知道服務(wù)調(diào)用深度,涉及服務(wù)個數(shù),每個服務(wù)調(diào)用的時間及狀態(tài),到底是哪個服務(wù)出現(xiàn)異常,具體到方法名,查找耗時長的鏈路時,可以通過在查詢結(jié)果頁面點(diǎn)擊“耗時”二字,讓數(shù)據(jù)以耗時升序或降序排列,都一目了然,上面的問題都得到解決了。

2、面試官:

你知道哪些成熟的調(diào)用鏈開源工具? 

Google Dapper

Dapper一開始是一個自包含的跟蹤工具,但后來發(fā)展成為一個監(jiān)控平臺,具有高性能,代碼侵入性低,支持集群擴(kuò)展特性。

dapper 處理日志分為3個階段:

  • 各個服務(wù)將span數(shù)據(jù)寫到本機(jī)日志上;
  • dapper守護(hù)進(jìn)程進(jìn)行拉取日志文件,將文件讀到dapper收集器里;
  • dapper收集器將結(jié)果寫到bigtable中,一次跟蹤被記錄為一行。

阿里巴巴的分布式調(diào)用跟蹤系統(tǒng) - 鷹眼(EagleEye)

EagleEye 是一個以調(diào)用鏈追蹤技術(shù)為核心的監(jiān)控系統(tǒng),通過收集,存儲,分析分布式系統(tǒng)中的調(diào)用事件參數(shù),協(xié)同開發(fā)人員進(jìn)行故障定位,容量預(yù)估,性能瓶頸定位,系統(tǒng)請求鏈路梳理等,EagleEye 的開發(fā)也是基于Google Dapper 的設(shè)計思想。

圖片描述

圖片描述

圖片來源:github EagleEye 社區(qū)

美團(tuán)分布式會話追蹤系統(tǒng) - MTrace

MTrace是美團(tuán)點(diǎn)評內(nèi)部的分布式會話跟蹤系統(tǒng),也借鑒了2010年Google的 dapper,通過一個全局的ID將分布在各個服務(wù)節(jié)點(diǎn)上的同一次請求串聯(lián)起來,還原原有的調(diào)用關(guān)系、追蹤系統(tǒng)問題、分析調(diào)用數(shù)據(jù)、統(tǒng)計系統(tǒng)指標(biāo),MTrace支持美團(tuán)內(nèi)部RPC中間件,HTTP中間件,MySQL,Tair,MQ等中間件的數(shù)據(jù)埋點(diǎn)。

總結(jié)

無論哪個公司使用哪個框架,我們發(fā)現(xiàn) trace 系統(tǒng)最終要解決的問題都是相同的,大致歸納如下:

  • 復(fù)雜網(wǎng)絡(luò)環(huán)境中定位問題,通過異常log綁定記錄,輕松定位。
  • 發(fā)現(xiàn)熱點(diǎn),發(fā)現(xiàn)瓶頸問題。
  • 預(yù)估系統(tǒng)容量,按照上下游調(diào)用比例,粗略計算哪些機(jī)器需要提前擴(kuò)容。
  • 優(yōu)化鏈路,通過鏈路分析,從更高的全局角度分析可以優(yōu)化的點(diǎn)。

以上就是分布式系統(tǒng)下調(diào)用鏈追蹤技術(shù)面試題的詳細(xì)內(nèi)容,更多關(guān)于分布式系統(tǒng)下調(diào)用鏈追蹤的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • springboot整合jcasbin權(quán)限管理

    springboot整合jcasbin權(quán)限管理

    jcasbin的權(quán)限控制非常簡單,本文就來介紹一下springboot整合jcasbin權(quán)限管理,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • Java圖形用戶界面之列表框

    Java圖形用戶界面之列表框

    列表框通過Swing組件JList產(chǎn)生,其總是在屏幕上占據(jù)固定行數(shù)的空間。這篇文章主要介紹了java圖形用戶界面之列表框的相關(guān)資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下
    2016-10-10
  • java abstract class interface之間的區(qū)別介紹

    java abstract class interface之間的區(qū)別介紹

    含有abstract修飾符的class即為抽象類,abstract 類不能創(chuàng)建的實(shí)例對象,abstract class類中定義抽象方法必須在具體(Concrete)子類中實(shí)現(xiàn),所以,不能有抽象構(gòu)造方法或抽象靜態(tài)方法
    2012-11-11
  • SpringBoot之控制器的返回值處理方式

    SpringBoot之控制器的返回值處理方式

    這篇文章主要介紹了SpringBoot之控制器的返回值處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 詳解java基礎(chǔ)--提示對話框的使用

    詳解java基礎(chǔ)--提示對話框的使用

    這篇文章主要介紹了java基礎(chǔ)--提示對話框的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 關(guān)于MD5算法原理與常用實(shí)現(xiàn)方式

    關(guān)于MD5算法原理與常用實(shí)現(xiàn)方式

    這篇文章主要介紹了關(guān)于MD5算法原理與常用實(shí)現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 深入探究HashMap二次Hash原因

    深入探究HashMap二次Hash原因

    在java開發(fā)中,HashMap是最常用、最常見的集合容器類之一,文中通過示例代碼介紹HashMap為啥要二次Hash,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • springboot讀取yml文件中的list列表、數(shù)組、map集合和對象方法實(shí)例

    springboot讀取yml文件中的list列表、數(shù)組、map集合和對象方法實(shí)例

    在平時的yml配置文件中,我們經(jīng)常使用到配置基本數(shù)據(jù)類型的字符串,下面這篇文章主要給大家介紹了關(guān)于springboot讀取yml文件中的list列表、數(shù)組、map集合和對象的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • MyBatis-Plus 與Druid 數(shù)據(jù)源操作

    MyBatis-Plus 與Druid 數(shù)據(jù)源操作

    SpringBoot框架集成MyBatis-Plus和Druid數(shù)據(jù)源,簡化了數(shù)據(jù)操作與監(jiān)控,MyBatis-Plus作為MyBatis的增強(qiáng)工具,自動實(shí)現(xiàn)CRUD操作,減少手寫SQL,提供分頁、邏輯刪除等功能,本文介紹MyBatis-Plus & Druid 數(shù)據(jù)源總結(jié),感興趣的朋友一起看看吧
    2024-09-09
  • Java服務(wù)器宕機(jī)的解決方法論

    Java服務(wù)器宕機(jī)的解決方法論

    這篇文章主要介紹了Java服務(wù)器宕機(jī)的解決方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08

最新評論

武鸣县| 仲巴县| 神农架林区| 武平县| 桃江县| 海门市| 光泽县| 北宁市| 高碑店市| 岑巩县| 永安市| 女性| 深州市| 加查县| 洞口县| 龙里县| 麻栗坡县| 南丰县| 邹城市| 中西区| 肥西县| 墨江| 旌德县| 东台市| 通化县| 伊川县| 枣强县| 万源市| 太谷县| 航空| 龙泉市| 太原市| 普兰县| 邯郸县| 鄯善县| 绵竹市| 卓尼县| 离岛区| 红安县| 东丽区| 三门县|