SpringCloud-Sleuth 分佈式請求鏈路跟蹤

Sleutd的做用

在微服務系統中,客戶端發起的一個請求在後端系統中可能會通過多個不一樣的服務節點,當系統變得複雜、龐大,每一個前端請求都會造成一條複雜的分佈式服務調用鏈路,鏈路的任何一個環節出了差錯就會致使整個請求的失敗前端

Spring Cloud Sleuth 提供了一套完整的服務跟蹤的解決方案,併兼容支持了 zipkin,爲了方便監控,咱們須要安裝一下 Zipkinjava

安裝 Zipkin 監控平臺

Spring Cloud 從 F 版起就不須要本身構建 Zipkin Server 了,只須要導入 jar 包便可spring

一、下載:http://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/後端

二、使用 java -jar 命令運行瀏覽器

三、瀏覽器訪問 http://localhost:9411/zipkin/,進入以下界面便可maven

zipkin 基本原理

一條鏈路經過 trace Id 標識,Span 標識發起的請求信息,各個 Span 經過 Parent Id 關聯分佈式

整個鏈路的依賴關係以下所示:微服務

Trance:相似於樹結構的 Span 的集合,表示一條調用鏈路,存在惟一標識url

Span:表示調用鏈路的來源,通俗來講 Span 就是一次請求信息code

進行鏈路監控

須要的依賴(zipkin 中是包含 sleuth 的)

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>

添加配置

spring:
  zipkin:
  	# 指定 zipkin 地址
    base-url: http://localhost:9411
  sleuth:
    sampler:
      # 採樣率介於 0~1 之間,1表示所有采集
      probability: 1

在服務提供者、消費者上都添加上述配置以後,發送的請求就會被監控了,能夠在 zipkin 可視化界面查看詳情

相關文章
相關標籤/搜索