天天看點

Spring Cloud Alibaba 鍊路追蹤 - 為什麼需要鍊路追蹤

什麼是鍊路追蹤

微服務架構是通過業務來劃分服務的,使用 REST 調用。對外暴露的一個接口,可能需要很多個服務協同才能完成這個接口功能,如果鍊路上任何一個服務出現問題或者網絡逾時,都會形成導緻接口調用失敗。随着業務的不斷擴張,服務之間互相調用會越來越複雜。

Spring Cloud Alibaba 鍊路追蹤 - 為什麼需要鍊路追蹤

随着服務的越來越多,對調用鍊的分析會越來越複雜。它們之間的調用關系也許如下:

Spring Cloud Alibaba 鍊路追蹤 - 為什麼需要鍊路追蹤

面對以上情況,我們就需要一些可以幫助了解系統行為、用于分析性能問題的工具,以便發生故障的時候,能夠快速定位和解決問題,這就是所謂的 APM(應用性能管理)。

什麼是 SkyWalking

目前主要的一些 APM 工具有: Cat、Zipkin、Pinpoint、SkyWalking;Apache SkyWalking 是觀察性分析平台和應用性能管理系統。提供分布式追蹤、服務網格遙測分析、度量聚合和可視化一體化解決方案。

Spring Cloud Alibaba 鍊路追蹤 - 為什麼需要鍊路追蹤
  • Skywalking Agent: 使用 JavaAgent 做位元組碼植入,無侵入式的收集,并通過 HTTP 或者 gRPC 方式發送資料到 SkyWalking Collector。
  • SkyWalking Collector: 鍊路資料收集器,對 agent 傳過來的資料進行整合分析處理并落入相關的資料存儲中。
  • Storage: SkyWalking 的存儲,時間更疊,SW 已經開發疊代到了 6.x 版本,在 6.x 版本中支援以 ElasticSearch(支援 6.x)、Mysql、TiDB、H2、作為存儲媒體進行資料存儲。
  • UI: Web 可視化平台,用來展示落地的資料。

SkyWalking 功能特性

  • 多種監控手段,語言探針和服務網格(Service Mesh)
  • 多語言自動探針,Java,.NET Core 和 Node.JS
  • 輕量高效,不需要大資料
  • 子產品化,UI、存儲、叢集管理多種機制可選
  • 支援告警
  • 優秀的可視化方案