日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

聊聊微服務鏈路服務

來源: 責編: 時間:2023-12-15 17:18:09 734觀看
導讀微服務架構圖片如果有用戶反饋某個頁面很慢,我們知道這個頁面的請求調(diào)用鏈是 A -----> C -----> B -----> D(圖片有誤),怎么來定位是由哪個服務引起的問題呢? 更進一步,如果每個服務 Service A,B,C,D 都部署在好幾臺機

微服務架構

圖片圖片tl528資訊網(wǎng)——每日最新資訊28at.com

如果有用戶反饋某個頁面很慢,我們知道這個頁面的請求調(diào)用鏈是 A ----->  C ----->  B ----->  D(圖片有誤),怎么來定位是由哪個服務引起的問題呢? tl528資訊網(wǎng)——每日最新資訊28at.com

更進一步,如果每個服務 Service A,B,C,D 都部署在好幾臺機器上。怎么知道某個請求調(diào)用了服務的具體哪臺機器呢?tl528資訊網(wǎng)——每日最新資訊28at.com

圖片圖片tl528資訊網(wǎng)——每日最新資訊28at.com

可以明顯看到,由于無法準確定位每個請求經(jīng)過的確切路徑,在微服務這種架構下有以下幾個痛點:tl528資訊網(wǎng)——每日最新資訊28at.com

1. 排查問題難度會比較大,解決問題的周期長tl528資訊網(wǎng)——每日最新資訊28at.com

2. 特定場景很難再次復用tl528資訊網(wǎng)——每日最新資訊28at.com

3.系統(tǒng)性能瓶頸分析同樣也不同意tl528資訊網(wǎng)——每日最新資訊28at.com

這就需要一個分布式調(diào)用鏈追蹤系統(tǒng)。tl528資訊網(wǎng)——每日最新資訊28at.com

圖片圖片tl528資訊網(wǎng)——每日最新資訊28at.com


tl528資訊網(wǎng)——每日最新資訊28at.com

分布式調(diào)用鏈追蹤系統(tǒng):設計

如果要我們自己實現(xiàn)一個這樣的分布式追蹤系統(tǒng),該怎么去設計?tl528資訊網(wǎng)——每日最新資訊28at.com

首先,我們必須得區(qū)分每個調(diào)用鏈,得給它分配一個全局唯一的 TraceID,并且在調(diào)用鏈上的每次調(diào)用都帶上這個 ID,這樣每個調(diào)用都被關聯(lián)起來了。tl528資訊網(wǎng)——每日最新資訊28at.com

圖片圖片tl528資訊網(wǎng)——每日最新資訊28at.com

然后,我們得記錄所有調(diào)用的先后次序和父子關系。tl528資訊網(wǎng)——每日最新資訊28at.com

假設有以上這樣的調(diào)用鏈,如果我們只記錄了這四個調(diào)用:tl528資訊網(wǎng)——每日最新資訊28at.com

A---->Btl528資訊網(wǎng)——每日最新資訊28at.com

B---->Ctl528資訊網(wǎng)——每日最新資訊28at.com

A---->Dtl528資訊網(wǎng)——每日最新資訊28at.com

D---->Etl528資訊網(wǎng)——每日最新資訊28at.com

D---->Ftl528資訊網(wǎng)——每日最新資訊28at.com

雖然我們知道它屬于一個調(diào)用(TraceID 相同),還是無法畫出完整的調(diào)用拓撲圖。tl528資訊網(wǎng)——每日最新資訊28at.com

所以必須得記錄父子關系:tl528資訊網(wǎng)——每日最新資訊28at.com

A---->B 是 B---->C 的父調(diào)用tl528資訊網(wǎng)——每日最新資訊28at.com

A---->D 是 D---->E 的父調(diào)用tl528資訊網(wǎng)——每日最新資訊28at.com

A---->D 還是 D---->F 的父調(diào)用tl528資訊網(wǎng)——每日最新資訊28at.com

圖片圖片tl528資訊網(wǎng)——每日最新資訊28at.com

Agent

微服務是來實現(xiàn)業(yè)務的,肯定不能來干這個監(jiān)控和跟蹤的活兒,那樣對微服務的侵入性就太強了。tl528資訊網(wǎng)——每日最新資訊28at.com

所以必須得有一個獨立的組件,在不干擾微服務的情況下,監(jiān)控微服務之間的調(diào)用,把這些 ID 生成, 這個獨立的組件就是 Agent。tl528資訊網(wǎng)——每日最新資訊28at.com

Agent 要想施展魔法,需要安裝在每個服務所在的機器上:tl528資訊網(wǎng)——每日最新資訊28at.com

圖片圖片tl528資訊網(wǎng)——每日最新資訊28at.com

這個魔法師遵循的規(guī)則也非常簡單,以上圖中服務 A 上的 Agent 為例:tl528資訊網(wǎng)——每日最新資訊28at.com

當 Agent 監(jiān)測到有人調(diào)用服務 A 時,沒有 ParentSpanID,它意識到這是一次全新的調(diào)用,于是創(chuàng)建新的 TraceID。tl528資訊網(wǎng)——每日最新資訊28at.com

當 Agent 察覺到 A 調(diào)用了 B 時,生成 SpanID = 1,并將此 ID 作為 ParentSpanID 傳遞給 B。這樣,當 B 調(diào)用 C 時,B 的 Agent 就能生成此次調(diào)用的 SpanID 為 1.1。tl528資訊網(wǎng)——每日最新資訊28at.com

當 Agent 察覺到 A 調(diào)用 D 時,生成 SpanID = 2,并將此 ID 作為 ParentSpanID 傳遞給 D。tl528資訊網(wǎng)——每日最新資訊28at.com

4. 在 D 調(diào)用 E 和 F 時,分別生成 SpanID 2.1 和 2.2。tl528資訊網(wǎng)——每日最新資訊28at.com

指定微服務中的“RPC 調(diào)用的公用程序”(例如 Dubbo 中的 MonitorFilter.invoke方法), 然后在運行時,通過動態(tài)修改字節(jié)碼的方式來增強它:tl528資訊網(wǎng)——每日最新資訊28at.com

圖片圖片tl528資訊網(wǎng)——每日最新資訊28at.com

當服務 A 調(diào)用服務 B 時, Agent 就可以做點兒手腳,修改 header 了:tl528資訊網(wǎng)——每日最新資訊28at.com


tl528資訊網(wǎng)——每日最新資訊28at.com

圖片圖片tl528資訊網(wǎng)——每日最新資訊28at.com

數(shù)據(jù)收集

Agent 雖然監(jiān)控、生成了足夠多的數(shù)據(jù),但是單個 Agent 無法獲得全局視圖,我們需要一個全局的收集器來把 Agent 的數(shù)據(jù)收集上來,這樣才能生成全局的調(diào)用鏈。tl528資訊網(wǎng)——每日最新資訊28at.com

結構如下圖:tl528資訊網(wǎng)——每日最新資訊28at.com

圖片圖片tl528資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-46491-0.html聊聊微服務鏈路服務

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 九個免費開源的GIF編輯器

下一篇: 如何回溯解決組合問題和字符串分割

標簽:
  • 熱門焦點
  • Raft算法:保障分布式系統(tǒng)共識的穩(wěn)健之道

    1. 什么是Raft算法?Raft 是英文”Reliable、Replicated、Redundant、And Fault-Tolerant”(“可靠、可復制、可冗余、可容錯”)的首字母縮寫。Raft算法是一種用于在分布式系統(tǒng)
  • Golang 中的 io 包詳解:組合接口

    io.ReadWriter// ReadWriter is the interface that groups the basic Read and Write methods.type ReadWriter interface { Reader Writer}是對Reader和Writer接口的組合,
  • 學習JavaScript的10個理由...

    作者 | Simplilearn編譯 | 王瑞平當你決心學習一門語言的時候,很難選擇到底應該學習哪一門,常用的語言有Python、Java、JavaScript、C/CPP、PHP、Swift、C#、Ruby、Objective-
  • JavaScript學習 -AES加密算法

    引言在當今數(shù)字化時代,前端應用程序扮演著重要角色,用戶的敏感數(shù)據(jù)經(jīng)常在前端進行加密和解密操作。然而,這樣的操作在網(wǎng)絡傳輸和存儲中可能會受到惡意攻擊的威脅。為了確保數(shù)據(jù)
  • 大廠卷向扁平化

    來源:新熵作者丨南枝 編輯丨月見大廠職級不香了。俗話說,兵無常勢,水無常形,互聯(lián)網(wǎng)企業(yè)調(diào)整職級體系并不稀奇。7月13日,淘寶天貓集團啟動了近年來最大的人力制度改革,目前已形成一
  • 小米MIX Fold 3配置細節(jié)曝光:搭載領先版驍龍8 Gen2+罕見5倍長焦

    這段時間以來,包括三星、一加、榮耀等等有不少品牌旗下的最新折疊屏旗艦都得到了不少爆料,而小米新一代折疊屏旗艦——小米MIX Fold 3此前也屢屢被傳
  • 華為Mate 60系列用上可變靈動島:正式版體驗將會更出色

    這段時間以來,關于華為新旗艦的爆料日漸密集。據(jù)此前多方爆料,今年華為將開始恢復一年雙旗艦戰(zhàn)略,除上半年推出的P60系列外,往年下半年的Mate系列也將
  • 2299元起!iQOO Pad開啟預售:性能最強天璣平板

    5月23日,iQOO如期舉行了新品發(fā)布會,除了首發(fā)安卓最強旗艦處理器的iQOO Neo8系列新機外,還在發(fā)布會上推出了旗下首款平板電腦——iQOO Pad,其搭載了天璣
  • 英特爾Xe-HP項目終止,將專注Xe-HPC/HPG系列顯卡

    據(jù)10 月 31 日消息報道,英特爾高級副總裁兼加速計算系統(tǒng)和圖形事業(yè)部總經(jīng)理 表示,Xe-HP“ Arctic Sound” 系列服務器 GPU 已經(jīng)應用于 oneAPI devcloud 云服
Top 主站蜘蛛池模板: 新野县| 绍兴市| 宁城县| 兴化市| 开阳县| 施甸县| 察哈| 麟游县| 察隅县| 平南县| 崇明县| 曲松县| 玉环县| 孙吴县| 蒙山县| 虹口区| 浑源县| 奉节县| 高台县| 木兰县| 射洪县| 凯里市| 登封市| 岳阳市| 保靖县| 剑川县| 弋阳县| 茌平县| 开阳县| 广丰县| 襄垣县| 渭南市| 京山县| 余干县| 甘泉县| 普陀区| 韶关市| 渭南市| 平阳县| 甘德县| 肥西县|