假設目前有如下三個服務:
mima-cloud-gateway(網關服務,端口8801)
mima-cloud-producer(提供者服務)
mima-cloud-consumer(消費者服務)
關系如下:
mima-cloud-gateway作為網關請求入口,訪問mima-cloud-consumer服務,mima-cloud-consumer服務依賴mima-cloud-producer服務,完成一個外部請求需要多個應用之間相互協作,形成復雜的調用鏈路。而一旦出現問題,更是難以定位問題,也難以直觀地獲取到各個服務之間的依賴關系。Spring Cloud Sleuth的出現正是為了實現分布式系統的鏈路追蹤。在微服務中我們可以采用服務跟蹤sleuth和可視化跟蹤工具Zipkin搭配使用。
eureka服務地址:http://localhost:8761/eureka/
zipkin服務地址:http://localhost:9411/
微服務中集成sleuth、zipkin
1、引入依賴包
<!-- 包含 spring-cloud-starter-sleuth、spring-cloud-sleuth-zipkin jar -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
2、yml或者properties屬性文件配置
spring: #zipkin服務所在地址 zipkin: base-url: http://localhost:9411/ #配置采樣百分比,開發環境可以設置為1,表示全部,生產就用默認 sleuth: sampler: probability: 1
3、其他
訪問 http://localhost:8801/c/get/Lynch 地址
輸出的日志依次為:微服務名、traceID、spanID、是否采樣