欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

引言

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

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

1、面試官:

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

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

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

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

圖片描述

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

2、面試官:

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

Google Dapper

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

dapper 處理日志分為3個(gè)階段:

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

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

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

圖片描述

圖片描述

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

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

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

總結(jié)

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

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

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

相關(guān)文章

  • Idea啟動(dòng)多個(gè)SpringBoot項(xiàng)目的3種最新方案

    Idea啟動(dòng)多個(gè)SpringBoot項(xiàng)目的3種最新方案

    SpringBoot自帶Tomcat,直接運(yùn)行main方法里面的SpringApplication.run即可,并且訪問(wèn)時(shí)不需要帶項(xiàng)目名,這篇文章主要介紹了Idea啟動(dòng)多個(gè)SpringBoot項(xiàng)目的3種方案,需要的朋友可以參考下
    2023-02-02
  • IDEA部署Tomcat的超詳細(xì)圖文教程

    IDEA部署Tomcat的超詳細(xì)圖文教程

    最近迫于無(wú)奈從我哪破舊的Eclipse轉(zhuǎn)換到了IDEA,然后就是超多的不習(xí)慣,下面這篇文章主要給大家介紹了關(guān)于IDEA部署Tomcat的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • springboot+gradle 構(gòu)建多模塊項(xiàng)目的步驟

    springboot+gradle 構(gòu)建多模塊項(xiàng)目的步驟

    這篇文章主要介紹了springboot+gradle 構(gòu)建多模塊項(xiàng)目的步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • 一個(gè)處理用戶登陸的servlet簡(jiǎn)單實(shí)例

    一個(gè)處理用戶登陸的servlet簡(jiǎn)單實(shí)例

    這篇文章主要介紹了一個(gè)處理用戶登陸的servlet簡(jiǎn)單實(shí)例,可通過(guò)servlet實(shí)現(xiàn)處理用戶登錄的功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-01-01
  • SpringBoot?使用?Sa-Token?完成注解鑒權(quán)功能(權(quán)限校驗(yàn))

    SpringBoot?使用?Sa-Token?完成注解鑒權(quán)功能(權(quán)限校驗(yàn))

    Sa-Token?是一個(gè)輕量級(jí)?java?權(quán)限認(rèn)證框架,主要解決登錄認(rèn)證、權(quán)限認(rèn)證、單點(diǎn)登錄、OAuth2、微服務(wù)網(wǎng)關(guān)鑒權(quán)?等一系列權(quán)限相關(guān)問(wèn)題,這篇文章主要介紹了SpringBoot使用Sa-Token完成注解鑒權(quán)功能,需要的朋友可以參考下
    2023-05-05
  • SpringBoot雪花算法主鍵ID傳到前端后精度丟失問(wèn)題的解決

    SpringBoot雪花算法主鍵ID傳到前端后精度丟失問(wèn)題的解決

    本文主要介紹了SpringBoot雪花算法主鍵ID傳到前端后精度丟失問(wèn)題的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Java內(nèi)存模型知識(shí)匯總

    Java內(nèi)存模型知識(shí)匯總

    本文中,有很多定義和說(shuō)法,都是筆者自己理解后定義出來(lái)的。希望能夠讓讀者可以對(duì)Java內(nèi)存模型有更加清晰的認(rèn)識(shí)。當(dāng)然,如有偏頗,歡迎指正。
    2018-09-09
  • Java 實(shí)戰(zhàn)范例之線上新聞平臺(tái)系統(tǒng)的實(shí)現(xiàn)

    Java 實(shí)戰(zhàn)范例之線上新聞平臺(tái)系統(tǒng)的實(shí)現(xiàn)

    讀萬(wàn)卷書(shū)不如行萬(wàn)里路,只學(xué)書(shū)上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+jsp+jdbc+mysql實(shí)現(xiàn)一個(gè)線上新聞平臺(tái)系統(tǒng),大家可以在過(guò)程中查缺補(bǔ)漏,提升水平
    2021-11-11
  • Java精品項(xiàng)目瑞吉外賣(mài)之新增菜品與分頁(yè)查詢篇

    Java精品項(xiàng)目瑞吉外賣(mài)之新增菜品與分頁(yè)查詢篇

    這篇文章主要為大家詳細(xì)介紹了java精品項(xiàng)目-瑞吉外賣(mài)訂餐系統(tǒng),此項(xiàng)目過(guò)大,分為多章獨(dú)立講解,本篇內(nèi)容為新增菜品和分頁(yè)查詢功能的實(shí)現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • java的Map集合中按value值進(jìn)行排序輸出的實(shí)例代碼

    java的Map集合中按value值進(jìn)行排序輸出的實(shí)例代碼

    下面小編就為大家?guī)?lái)一篇java的Map集合中按value值進(jìn)行排序輸出的實(shí)例代碼。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-08-08

最新評(píng)論