spring-cloud 鏈路追蹤

      網友投稿 790 2025-04-03

      spring-Cloud 鏈路追蹤

      為什么需要鏈路追蹤?

      可以理清微服務間的調用關系;

      可以快速查詢日志;

      可以實施系統監控;

      根據traceId可以方便的查看這個服務的調用過程,請求參數、調用類、方法、lineNum、message信息;

      目前主要的一些 APM 工具有: Cat、Zipkin、Pinpoint、SkyWalking。

      一、spring-Cloud-sleuth

      官網: https://spring.io/projects/spring-cloud-sleuth

      準備工作:docker 安裝 zipkin server,nacos注冊中心默認已有

      spring-cloud 鏈路追蹤

      docker pull openzipkin/zipkin

      docker run --name zipkin -d -p 9411:9411 openzipkin/zipkin

      訪問zipkin服務:http://localhost:9411/zipkin/

      開始構建項目 paw-trace-sleuth,添加依賴

      org.springframework.cloud spring-cloud-dependencies ${release.train.version} pom import org.springframework.cloud spring-cloud-starter-sleuth

      未加依賴之前日志

      引入sleuth依賴后日志

      將數據發送到zipkin sever。

      zipkin 配置

      spring:

      zipkin:

      base-url: http://localhost:9411/

      寫一個服務調用 注冊中心nacos,用openfeign調用

      增加依賴,并在啟動類開始 @EnableDiscoveryClient @EnableFeignClients

      com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config org.springframework.cloud spring-cloud-starter-openfeign

      定義feignclient

      @FeignClient("paw-trace-sleuth-b") public interface SleuthBFeignClient { @GetMapping("/sleuthB") public String sleuthB(); }

      服務調用

      @Slf4j @RestController public class SleuthController { @Autowired private SleuthBFeignClient sleuthBFeignClient; @GetMapping("/sleuth") public String sleuth(){ log.info("==== sleuth"); String sleuthB = sleuthBFeignClient.sleuthB(); log.info(sleuthB); return "sleuth"; } }

      創建服務調用的項目項目paw-trace-sleuth-b,配置過程同上

      增加feign調用的開放接口

      @RestController public class SleuthBController { @GetMapping("/sleuthB") public String sleuthB(){ log.info("sleuthB"); return "sleuthB"; } }

      啟動項目,查看日志,鏈路已生成

      訪問記錄已發送到zipkin sever端。

      show 顯示詳細信息。

      官網文檔,slf4j的logback日志已經添加了默認的日志格式,可以自定義logback-spring.xml日志。

      zipkin默認用內存存儲數據,實際項目中一般用 kafa+ES存儲數據

      docker 方式:

      docker run -it -d --restart=always -e KAFKA_BOOTSTRAP_SERVERS=10.0.1.66:9092

      -e STORAGE_TYPE=elasticsearch -e ES_HOSTS=http://10.0.1.66:9200 -p 10086:9411 openzipkin/zipkin

      啟動jar的方式

      java -DKAFKA_ZOOKEEPER=10.22.0.130:2181 -DSTORAGE_TYPE=elasticsearch

      -DES_HOSTS=http://10.22.0.130:9200 -jar zipkin.jar

      Spring

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:為什么用不了截圖(為什么不能截圖)
      下一篇:訂貨程序定制
      相關文章
      亚洲国产情侣一区二区三区| 亚洲乱码精品久久久久..| 亚洲AV无码乱码在线观看裸奔| 国产精品亚洲va在线观看| 国产精品亚洲综合久久| 亚洲va久久久久| 亚洲看片无码在线视频| 99999久久久久久亚洲| 亚洲人成伊人成综合网久久| 亚洲综合区图片小说区| 亚洲高清无在码在线电影不卡| 亚洲综合日韩中文字幕v在线| 久久精品亚洲综合一品| 久久精品国产精品亚洲艾草网| 久久久久久久尹人综合网亚洲| 亚洲精品高清国产一线久久| 亚洲欧洲日产国码无码久久99 | 亚洲中文字幕无码日韩| 在线观看亚洲av每日更新| 亚洲日本一区二区三区在线| 国产亚洲av片在线观看播放| 亚洲第一AAAAA片| 亚洲日本va午夜中文字幕一区| 中文字幕亚洲色图| 亚洲国产成人久久综合一区| 亚洲香蕉在线观看| 亚洲国产精品无码观看久久| 老司机亚洲精品影院在线观看| 亚洲精品456播放| 亚洲熟妇丰满多毛XXXX| 亚洲日本va午夜中文字幕一区| 亚洲激情校园春色| 伊人久久亚洲综合影院首页| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 亚洲国产一成人久久精品| 久久久亚洲精品无码| 亚洲精品国产福利在线观看| 亚洲日韩国产精品乱-久| 亚洲第一成年网站视频| 亚洲精品无码成人片在线观看| 久久亚洲精品中文字幕三区|