文章目錄
- 前言
- 一、安裝 zipkin-server
-
-
- 1.1 下載下傳
- 1.2 流程圖
-
- 二、使用步驟
-
-
- 2.1 直接修改之前的子產品 `sgg-consumer80` 引入依賴
-
- 總結 感謝B站尚矽谷的老師 ~~~
前言
在微服務架構中,一個由用戶端發起的請求在後端系統中會經過多個不同的服務節點調用協同産生最後的請求結果, 每一個前端請求都會形成一個複雜的分布式服務調用鍊路,鍊路中的任何一環出來高延時或者錯誤都會引起整個請求最後的失敗
SpringCloud Sleuth 提供了一套完整的服務跟蹤的解決方案
在分布式系統中提供追蹤解決方案并且相容支援了 zipkin
一、安裝 zipkin-server
1.1 下載下傳

下載下傳 2.12.9 版本的 zipkin
通過 cmd 運作
java -jar zipkin-server-2.12.9-exec.jar
控制台列印
可以看到 zipkin 預設使用的是 9411 端口。 通路 http://localhost:9411/zipkin
1.2 流程圖
Span Id
表示目前服務,
ParentId
為上一層 服務
Trace
類似于樹結構的 Span 集合, 表示一條調用鍊路 , 存在唯一辨別
span
表示調用鍊路來源, 通俗的了解就是 span 就是一次請求資訊
二、使用步驟
2.1 直接修改之前的子產品 sgg-consumer80
引入依賴
sgg-consumer80
pom.xml
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
修改 yml 檔案
server:
port: 80
spring:
application:
name: ssg-consumer-service
zipkin:
base-url: http://127.0.0.1:9411 # 指定 zipkin 的服務位址
sleuth:
sampler:
probability: 1 # 采樣率, 介于 0 - 1 之間。 0 不采集, 1 全部采集
eureka:
client:
register-with-eureka: true
fetch-registry: true
service-url:
defaultZone: http://localhost:7001/eureka,http://localhost:7002/eureka
instance:
instance-id: sgg-consumer80
prefer-ip-address: true
修改
sgg-payment8001
和
sgg-payment8002
pom.xml
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
修改 yml 檔案
spring:
application:
name: sgg-payment-service
zipkin:
base-url: http://127.0.0.1:9411 # 配置 zipkin 的位址
sleuth:
sampler:
probability: 1 # # 采樣率, 介于 0 - 1 之間。 0 不采集, 1 全部采集
接口依舊使用之前的老接口。 順序啟動 7001,7002,8001,8002,80
通路 接口
這個時候檢視我們的 Zipkin 的控制台
可以看到我們的請求鍊路已經添加到 控制台中了
點進去 ,我們點選該鍊路資料,可以看到一個 Trace 明細。如下圖所示:
再之後,點選兩個Span,可以看到每一個的Span明細
總結 感謝B站尚矽谷的老師 ~~~
參考文章 : 芋道源碼