十三 Sleuth分布式請求鏈路追蹤

2022-09-15 01:54:12 字數 2198 閱讀 9559

官網鏈結spring-cloud-sleuth官網

在微服務框架中,乙個由客戶端發起的請求在後端系統中會經過多個不同的的服務節點呼叫來協同產生最後的請求結果,每乙個前段請求都會形成一條複雜的分布式服務呼叫鏈路,鏈路中的任何一環出現高延時或錯誤都會引起整個請求最後的失敗。當鏈路多的時候,分析定位問題就會很災難~

spring cloud sleuth提供了一套完整的服務跟蹤的解決方案,在分布式系統中提供追蹤解決方案並且相容支援了zipkin

一條鏈路通過trace ld唯-標識, span標識發起的請求資訊,各span通過parent id關聯起來

整個鏈路的依賴關係如下:

下面進行搭建鏈路監控~:需要eureka7001、porvider8001、consumer80來提供測試

1、首先需要構建zipkin-server。springcloud從f版起已不需要自己構建zipkin server了,只需要呼叫jar包即可

通過請求http://localhost:9411,來開啟zipkin dashboard 儀錶盤監控頁面

2、對provider8001、consumer80新增pom依賴

>

>

org.springframework.cloudgroupid

>

>

spring-cloud-starter-zipkinartifactid

>

dependency

>

3、對provider8001、consumer80新增yml配置,此時注意base_url的對齊方式,要不啟動會報錯,都是新增相同的配置

#此時注意base_url的對齊方式,要不啟動會報錯

sleuth

:sampler

:#取樣率值介於0~1之間,1表示全部採集,一般設定為0,在併發量高的情況下,一般不會設定為1

probability

:14、對provider8001新增乙個測試zipkin的服務介面

("/payment/zipkin"

)public string paymentzipkin()

5、對consumer80新增乙個請求測試介面來訪問8001

// ********************> zipkin+sleuth

("/consumer/payment/zipkin"

)public string paymentzipkin()

6、請求80新新增的介面,來訪問8001的zipkin介面服務,多請求幾次,然後檢視zipkin dashboard的監控頁面變化

① 多了兩個微服務的名稱

② 選擇某個微服務,進行條件查詢,比如說有時間過濾等條件篩選

③ 點選進某個鏈路,能清楚看到鏈路的呼叫情況

到此,表示springcloud sleuth分布式請求鏈路追蹤相容zipkin 搭建實現完畢~~~

分布式服務跟蹤Sleuth

作用 隨著業務的發展,系統規模也會變得越來越大,微服務間的呼叫關係也變得越來越錯綜複雜。通常由乙個客戶端發起的請求在後端系統中會經過多個不同的微服務呼叫來協同產生最後的請求結果,在複雜的微服務架構系統中,幾乎每乙個前端請求都會形成乙個複雜的分布式服務呼叫鏈路,在每條鏈路中任何乙個依賴服務出現延遲過高...

分布式服務跟蹤 Sleuth

sleuth是基於logback實現資料跟蹤的。在預設情況下,sleuth是基於日誌向控制台輸出跟蹤內容。不利於管理,統計,檢視,分析。在控制台中輸出跟蹤內容會嚴重影響系統效能。如果將跟蹤資料記錄在logback對應的日誌檔案中,也有問題 logback是分散的,是整合在每個服務應用中的,那麼日誌檔...

分布式服務跟蹤Sleuth

隨著業務的發展,系統規模也會變得越來越大,各微服務間的呼叫關係也變得越來越錯綜複雜。通常乙個由客戶端發起的請求在後端系統中會經過多個不同的微服務呼叫來協同產生最後的請求結果,在複雜的微服務架構系統中,幾乎每乙個前端請求都會形成一條複雜的分布式服務呼叫鏈路,在每條鏈路中任何乙個依賴服務出現延遲過高或錯...