天天看點

Spring Cloud 中使用 Zipkin 追蹤服務

雲栖号資訊:【 點選檢視更多行業資訊

在這裡您可以找到不同行業的第一手的上雲資訊,還在等什麼,快來!

Zipkin 簡介

ZipKin 是一個開放源代碼的分布式跟蹤系統,用于收集服務的定時資料,以解決微服務架構中的延遲問題。包括資料的收集、存儲、查找和展現。

每個服務向 Zipkin 報告計時資料,Zipkin 會根據調用關系通過 Zipkin UI 生成依賴關系圖,顯示了多少跟蹤請求通過每個服務。該元件可以讓我們通過一個 Web 前端輕松的收集和分析資料。例如使用者每次請求服務的處理時間等,可友善的監測系統中存在的瓶頸。

服務追蹤說明

微服務架構是通過業務來劃分服務的,使用 REST 調用。對外暴露的一個接口,可能需要很多個服務協同才能完成這個接口功能。

如果鍊路上任何一個服務出現問題或者網絡逾時,都會形成導緻接口調用失敗。

随着業務的不斷擴張,服務之間互相調用會越來越複雜。随着服務的越來越多,對調用鍊的分析會越來越複雜,如下圖:

Spring Cloud 中使用 Zipkin 追蹤服務

Zipkin 服務端

引入依賴

在 pom.xml 主要添加 zipkin 、 zipkin-server 和 zipkin-autoconfigure-ui 依賴

Spring Cloud 中使用 Zipkin 追蹤服務

注意: 這裡的 zipkin 版本号為 2.10.1,需要将版本号托管到統一依賴管理項目中

相關配置

在 application.yml 主要添加 zipkin 的相關配置

Spring Cloud 中使用 Zipkin 追蹤服務

Spring Cloud Zipkin 用戶端

在所需要被追蹤的項目中添加以下配置

在 pom.xml 中添加 spring-cloud-starter-zipkin 依賴

Spring Cloud 中使用 Zipkin 追蹤服務

在 application.yml 中添加 zipkin 位址即可

Spring Cloud 中使用 Zipkin 追蹤服務

測試服務追蹤

啟動全部項目,打開浏覽器通路:

http://localhost:9411

,出現以下界面

Spring Cloud 中使用 Zipkin 追蹤服務

點選 Find a trace,可以看到具體服務互相調用的資料

Spring Cloud 中使用 Zipkin 追蹤服務

點選 Dependencies,可以發現服務的依賴關系

Spring Cloud 中使用 Zipkin 追蹤服務

【雲栖号線上課堂】每天都有産品技術專家分享!

課程位址:

https://yqh.aliyun.com/zhibo

立即加入社群,與專家面對面,及時了解課程最新動态!

【雲栖号線上課堂 社群】

https://c.tb.cn/F3.Z8gvnK

原文釋出時間:2020-04-13

本文作者:西街青年

本文來自:“

掘金

”,了解相關資訊可以關注“掘金”