利用Spring Cloud Sleuth集成的zipkin組件實現服務鏈路追蹤

1.簡介

Spring Cloud Sleuth 主要功能就是在分佈式系統中提供追蹤解決方案,並且兼容支持了 zipkin,你只需要在pom文件中

引入相應的依賴即可。

2.服務追蹤分析

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

接口功能,如果鏈路上任何一個服務出現問題或者網絡超時,都會形成導致接口調用失敗。隨着業務的不斷擴張,服務

之間互相調用會越來越複雜。

Paste_Image.png

隨着服務的越來越多,對調用鏈的分析會越來越複雜。

3.實戰

3.1 建立zipkin-server模塊,在zipkin服務模塊pom.xml中添加依賴如下:


3.2 在程序啓動類, 加上註解@EnableZipkinServer,開啓ZipkinServer的功能:


3.3 在配置文件application.yml中指定服務端口:



3.4 在自己的業務應用模塊裏添加依賴:


3.5  在其配置文件中指定zipkin-server的地址,通過配置spring.zipkin.base-url來指定:



3.6 在應用啓動類裏增加AlwaysSampler類的Bean注入:

注:用於追蹤每個調用鏈路


3.7 依次啓動以上三個項目(我這裏創建了三個項目,zipkin-server,server-hi,server-miya),

      打開瀏覽器訪問:http://localhost:9411/,會出現以下界面:


3.8 訪問:http://localhost:8989/miya,瀏覽器出現:


3.9 刷新http://localhost:9411/的界面,點擊Dependencies,可以發現服務的依賴關係:


3.10 點擊find traces,可以看到具體服務相互調用的數據:


點擊每一條,可進入查看調用關係和詳情。

具體實施方案可根據項目實際情況進行適配。


至此,結束。示例代碼可參考如下鏈接:

https://github.com/kobe910828/zipkin.git

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