0、前言
微服務架構上眾多微服務通過REST調用,可能需要很多個服務協同才能完成一個接口功能,如果鏈路上任何一個服務出現問題或者網絡超時,都會形成導致接口調用失敗。隨着業務的不斷擴張,服務之間互相調用會越來越復雜。如何清晰地記錄服務的調用鏈路,方便將來問題的定位,Spring cloud sleuth組件正是為了解決微服務跟蹤的組件。
1、項目集成sleuth(zipkin)
1-1、運行服務端
服務端有兩種方式:
一種是自己構建spring boot項目,自行定制編譯;spring boot 2.X后,官方不再推薦這種做法,
一種是直接下載編譯好的JAR包,直接運行,這也是官方的推薦做法;
我們下載好JAR包后,直接運行,默認端口是9411,
java -jar zipkin-server-2.10.1-exec.jar
1-2、客戶端集成
1-2-1、添加依賴:
<!-- 集成sleuth\zipkin --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zipkin</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-sleuth</artifactId> </dependency>
1-2-2、添加配置
server: port: 8762 spring: application: name: nacos-user cloud: nacos: discovery: server-addr: 127.0.0.1:8848 sentinel: transport: dashboard: localhost:8849 eager: true sleuth: web: client: enabled: true sampler: probability: 1.0 # 將采樣比例設置為 1.0,也就是全部都需要。默認是 0.1 zipkin: base-url: http://localhost:9411/ # 指定了 Zipkin 服務器的地址
完成
2、運行測試
啟動服務,啟動客戶端程序,http://localhost:9411/zipkin/ 就可以看到面板相關信息了:
各項指標的詳細信息請參考官方文檔