java B2B2C Springcloud多租户电子商城系统-Spring Cloud Sleuth
在微服務(wù)框架中,一個由客戶端發(fā)起的請求在后端系統(tǒng)中會經(jīng)過多個不同的的服務(wù)節(jié)點調(diào)用來協(xié)同產(chǎn)生最后的請求結(jié)果,每一個前段請求都會形成一條復(fù)雜的分布式服務(wù)調(diào)用鏈路,鏈路中的任何一環(huán)出現(xiàn)高延時或錯誤都會引起整個請求最后的失敗。
愿意了解源碼的朋友直接企鵝求求:二一四七七七五六三三
Spring Cloud Sleuth提供了一套完整的服務(wù)跟蹤的解決方案。Spring Cloud Sleuth借用了Google
Dapper的術(shù)語。
Span:工作的基本單位。例如,發(fā)送RPC是一個新的跨度,就像發(fā)送響應(yīng)到RPC一樣。Span是由一個唯一的64位ID來標(biāo)識的,而另一個64位ID用于跟蹤。span還具有其他數(shù)據(jù),如描述、時間戳事件、鍵值標(biāo)注(標(biāo)記)、導(dǎo)致它們的span的ID和進程ID(通常是IP地址)。
可以啟動和停止跨度,并跟蹤其時間信息。 創(chuàng)建跨度后,必須在將來的某個時刻停止它。
啟動跟蹤的初始范圍稱為根跨度。 該范圍的ID值等于跟蹤ID。
Trace:一組span形成樹狀結(jié)構(gòu)。 例如,如果運行分布式大數(shù)據(jù)存儲,則可能由PUT請求形成跟蹤。
注解:用于及時記錄事件的存在。 使用Brave工具,我們不再需要為Zipkin設(shè)置特殊事件,以了解客戶端和服務(wù)器是誰,請求開始的位置以及結(jié)束位置。
cs:客戶已發(fā)送。 客戶提出了請求。 此注釋表示跨度的開始。
sr:Server Received:服務(wù)器端獲得請求并開始處理它。 從此時間戳中減去cs時間戳?xí)@示網(wǎng)絡(luò)延遲。
ss:服務(wù)器已發(fā)送。 在完成請求處理時(當(dāng)響應(yīng)被發(fā)送回客戶端時)注釋。
從此時間戳中減去sr時間戳?xí)@示服務(wù)器端處理請求所需的時間。
cr:客戶收到了。 表示跨度的結(jié)束。 客戶端已成功收到服務(wù)器端的響應(yīng)。
從此時間戳中減去cs時間戳?xí)@示客戶端從服務(wù)器接收響應(yīng)所需的全部時間。
下圖顯示了Span和Trace在系統(tǒng)中的外觀以及Zipkin注解:
注釋的每種顏色表示跨度(有七個跨度 - 從A到G)。 請考慮以下注釋:此注釋表示當(dāng)前跨度的Trace Id設(shè)置為X,Span Id設(shè)置為D.此外,還發(fā)生了Client Sent事件。
Trace Id = X Span Id = D Client Sent 下圖顯示了跨度的父子關(guān)系:
技術(shù)架構(gòu)圖: 代碼結(jié)構(gòu)圖 資料和源碼來源總結(jié)
以上是生活随笔為你收集整理的java B2B2C Springcloud多租户电子商城系统-Spring Cloud Sleuth的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ELFhash
- 下一篇: Windows 7 自动更新失败导致无法