Spring Cloud Sleuth整合Zipkin實現鏈路監控

1.分佈式鏈路監控與追蹤產生背景

        在微服務系統中,隨着業務的發展,系統會變得越來越大,那麼各個服務之間的調用關係也就變得越來越複雜。一個 HTTP 請求會調用多個不同的微服務來處理返回最後的結果,在這個調用過程中,可能會因爲某個服務出現網絡延遲過高或發送錯誤導致請求失敗,這個時候,對請求調用的監控就顯得尤爲重要了。Spring Cloud Sleuth 提供了分佈式服務鏈路監控的解決方案。下面介紹 Spring Cloud Sleuth 整合 Zipkin 的解決方案

2.Zipkin框架介紹

        Zipkin 是 Twitter 的一個開源項目,它基於 Google Dapper 實現的。我們可以使用它來收集各個服務器上請求鏈路的跟蹤數據,並通過它提供的 REST API 接口來輔助查詢跟蹤數據以實現對分佈式系統的監控程序,從而及時發現系統中出現的延遲過高問題。除了面向開發的 API 接口之外,它還提供了方便的 UI 組件來幫助我們直觀地搜索跟蹤信息和分析請求鏈路明細,比如可以查詢某段時間內各用戶請求的處理時間等。

        Zipkin 和 Config 結構類似,分爲服務端 Server,客戶端 Client,客戶端就是各個微服務應用。

3.Zipkin環境搭建

         在 Spring Boot 2.0 版本之後,官方已不推薦自己搭建Zipkin服務端了,而是直接提供了編譯好的 jar 包。詳情可以查看官網:https://zipkin.io/pages/quickstart.html
注意:zipkin官網已經提供定製了,使用官方jar運行即可。

默認端口號啓動zipkin服務
java –jar zipkin.jar  默認端口號; 9411
http://127.0.0.1:9411
指定端口號啓動9411
java -jar zipkin.jar  --server.port=8080
http://127.0.0.1:8080

4.ZipkinClient集成

Maven依賴

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

application.yml

spring:
  application:
    name: app-itmayiedu-member
  zipkin: 
    base-url: http://127.0.0.1:9411/
  ###全部採集  
  sleuth:
    sampler:
      probability: 1.0

5.調用鏈

在這裏插入圖片描述
啓動java –jar zipkin.jar,http://127.0.0.1:9411/可以看到相關情況
在這裏插入圖片描述

實現代碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章