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就可以看到具體的鏈路追蹤了!
希望能幫助到你~