SpringCloud Sleuth+Zipkin-鏈路追蹤
官網:spring-cloud/spring-cloud-sleuth: Distributed tracing for spring cloud (github.com)
分布式鏈路追蹤之Spring Cloud Sleuth+Zipkin最全教程! - bucaichenmou - 博客園 (cnblogs.com)
1.Sleuth+Zipkin是什么
- 在微服務框架中,一個由客戶端發起的請求在后端系統中會經過多個不同的的服務節點呼叫,來協同產生最后的請求結果,每一個請求都會形成一條復雜的分布式服務呼叫鏈路
- 鏈路中的任何一環出現高延時或錯誤都會引起整個請求最后的失敗,因此對整個服務的呼叫進行鏈路追蹤和分析就非常的重要
- Sleuth 提供了一套完整的服務跟蹤的解決方案并兼容 Zipkin,Sleuth 做鏈路追蹤 , Zipkin 做資料搜集/存盤/可視化,

2.Sleuth+Zipkin的作業原理
-
Span 和 Trace 在一個系統中使用 Zipkin 的程序-圖形化
- 一條鏈路通過Trace Id唯一標識 , Span標識發起的請求資訊,各span通過parent id關聯起來
- Trace:類似于樹結構的Span集合,表示一條呼叫鏈路,存在唯一標識
- Span:基本作業單元,表示呼叫鏈路來源,通俗的理解span就是一次請求資訊
-
spans 的 parent/child 關系圖形化
標識的紅線,后一個span節點的parentId 指向/記錄 了上一個Span,span就是一次請求資訊,多個Span集合就構成一條呼叫鏈路,在span=C 這個節點存在分支
3.搭建鏈路監控實體
要求: 通過 Sleuth 和 Zipkin 可以對服務呼叫鏈路進行監控,并在 Zipkin 進行顯示
3.1安裝Zipkin
-
訪問 https://repo1.maven.org/maven2/io/zipkin/java/zipkin-server/2.12.9/,點擊下載第一個jar檔案
-
把 zipkin-server-2.12.9-exec.jar 放到指定的目錄
-
進入 cmd , 執行指令運行: java -jar zipkin-server-2.12.9-exec.jar
-
瀏覽器輸入:http://localhost:9411/zipkin/
3.2服務提供方集成 Sleuth/Zipkin
-
修改 member-service-provider-10000 的 pom.xml , 增加引入 sleuth+zipkin
<!--zipkin的starter依賴集成了sleuth+zipkin--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zipkin</artifactId> </dependency>
-
修改 member-service-provider-10000 的 appliaction.xml , 指定 Zipkin
3.3服務消費方集成 Sleuth/Zipkin
略,步驟同3.2
- 修改 member-service-consumer-80 的 pom.xml , 增加引入 sleuth+zipkin
- 修改 member-service-consumer-80 的 appliaction.xml , 指定 Zipkin
3.4測驗
按順序啟動 e-commerce-eureka-server-9001、member-service-provider-10000、member-service-consumer-80,在瀏覽器輸入: http://localhost/member/consumer/get/1

3.5查看監控&分析結果
訪問 http://localhost:9411/zipkin/
-
選擇某個服務,看結果
- 查看一次呼叫鏈路的深度,以及該鏈路包含請求, 各個請求耗時,找到請求瓶頸,為優化提供依據
-
查看服務呼叫的依賴關系
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/554349.html
標籤:其他
上一篇:IO流 p7 物件流-ObjectInputStream 和 ObjectOutputStream
下一篇:返回列表