Spring Cloud Alibaba(14)---SpringCloudAlibaba整合Sleuth

雨點的名字發表於2021-06-09

SpringCloudAlibaba整合Sleuth

上一篇有寫過Sleuth概述,Spring Cloud Alibaba(13)---Sleuth概述

這篇我們開始通過示例來演示鏈路追蹤。

一、環境準備

既然是演示鏈路追蹤,那麼就需要有多個微服務之間進行呼叫,這裡的專案也是在之間已經搭建好的基礎上加上Sleuth元件,具體鏈路是這個的:

Spring Cloud Alibaba(14)---SpringCloudAlibaba整合Sleuth

從圖中可以看出,這裡一個完整的鏈路是 一個請求通過閘道器服務,然後轉發到 訂單微服務,然後訂單微服務中會去調商品服務

所以這裡涉及三個微服務

mall-gateway: 閘道器服務。埠號:8001。
mall-goods: 商品服務。 埠號:6001。
mall-order: 訂單服務。埠號:7001。

這三個服務都已經註冊到nacos中,如圖

Spring Cloud Alibaba(14)---SpringCloudAlibaba整合Sleuth

二、SpringCloudAlibaba整合Sleuth

注意 這裡不把所有程式碼都複製在這裡,完整專案程式碼,會放到github上,在文章下方會提供地址。

1、pom.xml

在需要進行鏈路追蹤的專案中(服務閘道器商品服務訂單服務)新增 spring-cloud-starter-sleuth 依賴。

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

2、測試

訪問地址如下:

#通過閘道器訪問訂單服務
http://localhost:8001/mall-order/api/v1/goods_order/getGoodsByFeign?goodsId=1

接下來我們來看各個微服務列印的日誌

閘道器服務(mall-gatway)

2021-05-19 19:17:46.677  INFO [mall-gateway,4ef9402f9a9500a1,4ef9402f9a9500a1,true] 92553 --- [ctor-http-nio-3] com.jincou.getway.CustomGatewayFilter 

訂單服務(mall-order)

2021-05-19 19:17:47.284  INFO [mall-order,4ef9402f9a9500a1,94a660c5c94cffb4,true] 92561 --- [nio-7001-exec-1] c.j.order.controller.OrderController 

商品服務(mall-goods)

2021-05-19 19:17:49.077  INFO [mall-goods,4ef9402f9a9500a1,4c48de8ab2b6377a,true] 92566 --- [nio-6001-exec-1] c.j.goods.controller.GoodsController 

解釋下含義 [mall-gateway,4ef9402f9a9500a1,4ef9402f9a9500a1,true]

第⼀個值,spring.application.name的值。

第⼆個值,4ef9402f9a9500a1 ,sleuth⽣成的⼀個ID,叫Trace ID,⽤來標識⼀條請求鏈路,⼀條請求鏈路中包含⼀個Trace ID,多個Span ID。

第三個值,4ef9402f9a9500a1、spanId 基本的⼯作單元,獲取後設資料,如傳送⼀個http。

第四個值:true,是否要將該資訊輸出到zipkin服務中來收集和展示。

我們可以看出這三個微服務的TraceID是一樣的,都為4ef9402f9a9500a1。代表是一個請求鏈路,但是4c48de8ab2b6377a是不一樣的,每個請求都是自己的SpanID

總結 檢視日誌檔案並不是一個很好的方法,當微服務越來越多日誌檔案也會越來越多,查詢工作會變得越來越麻煩,下一篇我們通過 Zipkin 進行鏈路跟蹤。Zipkin 可以將日誌聚合,並進行視覺化展示和全文檢索。


github地址 nacos-feign-sentinel-gatway-sleuth



少說多做,句句都會得到別人的重視;多說少做,句句都會受到別人的忽視。(14)

相關文章