1.簡介
Spring Cloud Sleuth 主要功能就是在分佈式系統中提供追蹤解決方案,並且兼容支持了 zipkin,你只需要在pom文件中
引入相應的依賴即可。
2.服務追蹤分析
微服務架構上是通過業務來劃分服務的。通過REST調用,對外暴露的一個接口,可能需要很多個服務協同才能完成這個
接口功能,如果鏈路上任何一個服務出現問題或者網絡超時,都會形成導致接口調用失敗。隨着業務的不斷擴張,服務
之間互相調用會越來越複雜。
隨着服務的越來越多,對調用鏈的分析會越來越複雜。
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,可以看到具體服務相互調用的數據:
點擊每一條,可進入查看調用關係和詳情。
具體實施方案可根據項目實際情況進行適配。
至此,結束。示例代碼可參考如下鏈接: