Springboot+Dubbo使用Zipkin進行接口調用鏈路追蹤


Zipkin介紹:

Zipkin是一個分布式鏈路跟蹤系統,可以采集時序數據來協助定位延遲等相關問題。數據可以存儲在cassandra,MySQL,ES,mem中。分布式鏈路跟蹤是個老話題,國內也有類似的框架,比如阿里的skywalking。 zipkin目前和SpringCloud生態結合緊密,有相關的支持。
 
zipkinServer下載鏈接:

鏈接:https://pan.baidu.com/s/1tbydFqM_WaMH7qe1Ktvw5Q
提取碼:8o7n

下載之后,使用java -jar zipkin-server-2.12.9-exec.jar   命令啟動了,啟動完后后瀏覽器訪問 http://localhost:9411 就可以了。

 

項目使用了Spingboot + Dubbo的框架結構,在集群部署時發現C端請求接口響應緩慢!於是引入了Zipkin來追蹤一下服務接口的調用耗時
配置如下:
 
1、pom添加Zipkin所需依賴:
<!--zikpin-->
<dependency>
   <groupId>io.zipkin.brave</groupId>
   <artifactId>brave-instrumentation-dubbo-rpc</artifactId>
   <version>5.4.1</version>
</dependency>
<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-zipkin</artifactId>
   <version>2.0.0.RELEASE</version>
</dependency>

2、為spring加入zipkin配置:

spring:
  ... 省略其他配置 ...
  zipkin:
    enabled: true
    base-url: http://localhost:9411
    messageTimeout: 5
    sender:
      #向http發送trace信息
      type: web
  sleuth:
    sampler:
      percentage: 1

 

3、為dubbo服務提供者和消費者注入 tracing 過濾器:

dubbo:
 ... 省略部分配置 ... consumer: timeout: 15000 check: false retries: 0 filter: 'tracing' provider: retries: 0 filter: 'tracing'

4、聲明指定tracing過濾器使用類

 ①、在項目resources目錄下新建目錄 META-INFO.dubbo

 ②、在上面目錄里面創建名為 org.apache.dubbo.rpc.Filter 的文本文件

 ③、在上面文本文件里面下入以下配置  

tracing=brave.dubbo.rpc.TracingFilter

 

 

 

完成之后,訪問Zipkin就可以看到具體的鏈路追蹤了!

 

 希望能幫助到你~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM