skywalking链路追踪在微服务架构中的使用
場景
鏈路追蹤
隨著微服務分布式系統變得日趨復雜,越來越多的組件開始走向分布式化,如分布式服務、分布式數據庫、分布式緩存等,使得后臺服務構成了一種復雜的分布式網絡。在服務能力提升的同時,復雜的網絡結構也使問題定位更加困難。在一個請求在經過諸多服務過程中,出現了某一個調用失敗的情況,查詢具體的異常由哪一個服務引起的就變得十分抓狂,問題定位和處理效率是也會非常低。
分布式鏈路追蹤就是將一次分布式請求還原成調用鏈路,將一次分布式請求的調用情況集中展示,比如各個服務節點上的耗時、請求具體到達哪臺機器上、每個服務節點的請求狀態等等。
若依微服務版手把手教你本地搭建環境并運行前后端項目:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/109363303
在上面搭建起來微服務的架構之后,怎樣實現鏈路追蹤。
skywalking
SkyWalking是一個可觀測性分析平臺(Observability Analysis Platform 簡稱OAP)和應用性能管理系統(Application Performance Management 簡稱 APM)。提供分布式鏈路追蹤,服務網格(Service Mesh)遙測分析,度量(Metric)聚合和可視化一體化解決方案。
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
關注公眾號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。
實現
skywalking下載地址
http://skywalking.apache.org/downloads/
選擇apm下載
?
這里是Windows版本,點擊Distribution下的合適版本
?
這里點擊8.4.0下的tar包下載,下載后解壓找到bin目錄下,在Windows下雙擊startup.bat直接啟動
會啟動兩個項目,一個是收集器,一個是web項目
?
打開瀏覽器訪問
http://localhost:8080/
?
可以看到啟動成功
然后使用IDEA打開微服務項目,在每個服務的啟動類中配置vm
?
這里以網關為例,在VM options下面添加如下內容
-javaagent:D:\Software\apache-skywalking-apm-es7-8.4.0\apache-skywalking-apm-bin-es7\agent\skywalking-agent.jar -Dskywalking.agent.service_name=ruoyi-gateway -Dskywalking.collector.backend_service=localhost:11800注意:
javaagent 是配置skywalking-agent.jar的地址
service_name 是配置需要監控的服務名
backend_service 是收集器服務的地址
這里在網關服務下進行了vm配置,其他需要做鏈路追蹤的服務下的啟動類也要配置。
然后啟動各個服務的啟動類
?
就可以在拓撲圖中看到鏈路追蹤了,然后調用下某個接口,那么這個接口所需的服務就會在追蹤中被顯示
?
?
總結
以上是生活随笔為你收集整理的skywalking链路追踪在微服务架构中的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mysql中怎样设置指定ip远程访问连接
- 下一篇: Logback配置输出sql