Spring Cloud Zipkin服務端追蹤服務
Zipkin 簡介
ZipKin 是一個開放源代碼的分布式跟蹤系統,用于收集服務的定時數據,以解決微服務架構中的延遲問題。包括數據的收集、存儲、查找和展現。
每個服務向 Zipkin 報告計時數據,Zipkin 會根據調用關系通過 Zipkin UI 生成依賴關系圖,顯示了多少跟蹤請求通過每個服務。該組件可以讓我們通過一個 Web 前端輕松的收集和分析數據。例如用戶每次請求服務的處理時間等,可方便的監測系統中存在的瓶頸。
服務追蹤說明
微服務架構是通過業務來劃分服務的,使用 REST 調用。對外暴露的一個接口,可能需要很多個服務協同才能完成這個接口功能。
如果鏈路上任何一個服務出現問題或者網絡超時,都會形成導致接口調用失敗。
隨著業務的不斷擴張,服務之間互相調用會越來越復雜。隨著服務的越來越多,對調用鏈的分析會越來越復雜,如下圖:
Zipkin 服務端引入依賴
在 pom.xml 主要添加 zipkin 、 zipkin-server 和 zipkin-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@EnableZipkinServerpublic 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 ,出現以下界面
點擊 Find a trace,可以看到具體服務相互調用的數據
點擊 Dependencies,可以發現服務的依賴關系
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章:
