Spring Cloud 中使用 Zipkin 追蹤服務

2020-04-12 16:08:15來源:博客園 閱讀 ()

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

Spring Cloud 中使用 Zipkin 追蹤服務

Zipkin 簡介

ZipKin 是一個開放源代碼的分布式跟蹤系統,用于收集服務的定時數據,以解決微服務架構中的延遲問題。包括數據的收集、存儲、查找和展現。

每個服務向 Zipkin 報告計時數據,Zipkin 會根據調用關系通過 Zipkin UI 生成依賴關系圖,顯示了多少跟蹤請求通過每個服務。該組件可以讓我們通過一個 Web 前端輕松的收集和分析數據。例如用戶每次請求服務的處理時間等,可方便的監測系統中存在的瓶頸。

服務追蹤說明

微服務架構是通過業務來劃分服務的,使用 REST 調用。對外暴露的一個接口,可能需要很多個服務協同才能完成這個接口功能。

如果鏈路上任何一個服務出現問題或者網絡超時,都會形成導致接口調用失敗。

隨著業務的不斷擴張,服務之間互相調用會越來越復雜。隨著服務的越來越多,對調用鏈的分析會越來越復雜,如下圖:

《Zipkin 服務鏈路追蹤》

Zipkin 服務端

引入依賴

pom.xml 主要添加 zipkinzipkin-serverzipkin-autoconfigure-ui 依賴

<dependency>
    <groupId>io.zipkin.java</groupId>
    <artifactId>zipkin</artifactId>
</dependency>
<dependency>
    <groupId>io.zipkin.java</groupId>
    <artifactId>zipkin-server</artifactId>
</dependency>
<dependency>
    <groupId>io.zipkin.java</groupId>
    <artifactId>zipkin-autoconfigure-ui</artifactId>
</dependency>

注意: 這里的 zipkin 版本號為 2.10.1,需要將版本號托管到統一依賴管理項目中

相關配置

application.yml 主要添加 zipkin 的相關配置

management:
  metrics:
    web:
      server:
        auto-time-requests: false

Application 啟動類中通過 @EnableZipkinServer 注解開啟 Zipkin Server 功能

@SpringBootApplication
@EnableEurekaClient
@EnableZipkinServer
public class ZipkinApplication {
    public static void main(String[] args) {
        SpringApplication.run(ZipkinApplication.class, args);
    }
}

Spring Cloud Zipkin 客戶端

在所需要被追蹤的項目中添加以下配置

引入依賴

pom.xml 中添加 spring-cloud-starter-zipkin 依賴

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

相關配置

application.yml 中添加 zipkin 地址即可

spring:
  zipkin:
    base-url: http://localhost:9411

測試服務追蹤

啟動全部項目,打開瀏覽器訪問:http://localhost:9411 ,出現以下界面

《Zipkin 服務鏈路追蹤》

點擊 Find a trace,可以看到具體服務相互調用的數據

《Zipkin 服務鏈路追蹤》

點擊 Dependencies,可以發現服務的依賴關系

《Zipkin 服務鏈路追蹤》

  • 文章作者:彭超
  • 本文首發于個人博客:https://antoniopeng.com/2019/12/03/springcloud/SpringCloud%E4%B8%AD%E4%BD%BF%E7%94%A8ZipKin%E8%BF%BD%E8%B8%AA%E6%9C%8D%E5%8A%A1/
  • 版權聲明:本博客所有文章除特別聲明外,均采用 CC BY-NC-SA 4.0 許可協議。轉載請注明來自 彭超 | Blog!

原文鏈接:https://www.cnblogs.com/antoniopeng/p/12687644.html
如有疑問請與原作者聯系

標簽:解決生成時間HTTP版本Application

版權申明:本站文章部分自網絡,如有侵權,請聯系:west999com@outlook.com
特別注意:本站所有轉載文章言論不代表本站觀點,本站所提供的攝影照片,插畫,設計作品,如需使用,請與原作者聯系,版權歸原作者所有

上一篇:基于JAVA-SSM框架的B/S微博系統的設計與實現

下一篇:使用 Spring Boot Admin 監控服務

韩国三级在线看免费