1. 程式人生 > 其它 >Alibabacloud整合 鏈路追蹤:Sleuth+Zipkin

Alibabacloud整合 鏈路追蹤:Sleuth+Zipkin

本案列需要掌握Alibabacloud的搭建能力!!

鏈路追蹤系統:

分散式應⽤架構雖然滿⾜了應⽤橫向擴充套件的需求,但是 運維和診斷的過程變得越來越複雜,例如會遇到接⼝診 斷困難、應⽤效能診斷複雜、架構分析複雜等難題,傳 統的監控⼯具並⽆法滿⾜,分散式鏈路系統由此誕⽣.

核⼼:

將⼀次請求分散式調⽤,使⽤GPS定位串起來,記 錄每個調⽤的耗時、效能等⽇志,並通過視覺化⼯具展示 出來.

注意: AlibabaCloud全家桶還沒對應的鏈路追蹤系統,我 們使⽤Sleuth和zipking(內部使⽤的鷹眼)

什麼是Sleuth:

⼀個元件,專⻔⽤於記錄鏈路資料的開源元件 。⽂檔:https://spring.io/projects/spring-cloud-sleuth

微服務新增依賴:

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

什麼是zipkin:

獲取zipkin官⽹

https://zipkin.io/

https://zipkin.io/pages/quickstart.html

個人雲盤下載:

連結:https://pan.baidu.com/s/1er-uU1Ivoy2HSDARvTnOxQ
提取碼:ityj

⼤規模分散式系統的APM⼯具(Application Performance Management),基於Google Dapper的 基礎實現,和sleuth結合可以提供視覺化web界⾯分析 調⽤鏈路耗時情況。

同類產品:鷹眼(EagleEye) CAT twitter開源zipkin,結合sleuth Pinpoint,運⽤JavaAgent位元組碼增強技術。

開始使⽤:

指令

java -jar zipkin-server-2.12.9-exec.jar

持久化指令(需要建立zipkin資料庫)

java -jar zipkin-server-2.12.9-exec.jar --STORAGE_TYPE=mysql --MYSQL_HOST= ip --MYSQL_TCP_PORT=3306
--MYSQL_DB=zipkin --MYSQL_USER=賬戶 --MYSQL_PASS=密碼

訪問

訪問⼊⼝:http://127.0.0.1:9411/zipkin/

Zipkin+Sleuth整合實戰

微服務加⼊依賴

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

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

配置地址和取樣百分⽐配置

spring:
     application:
         name: api-gateway
     zipkin:
         base-url: http://127.0.0.1:9411/ #zipkin地址
         discovery-client-enabled: false #不⽤開啟服

    #務發現
     sleuth:
         sampler:
             probability: 1.0 #取樣百分⽐ 

預設為0.1,即10%,這⾥配置1,是記錄全部的sleuth資訊, 是為了收集到更多的資料(僅供測試⽤)。 在分散式系統中,過於頻繁的取樣會影響系統性能,所以這⾥配 置需要採⽤⼀個合適的值。

訪問介面,可以檢視相應的鏈路效能監控