SkyWalking是什麼
SkyWalking 為 服務(service), 服務執行個體(service instance), 以及 端點(endpoint) 提供了可觀測能力。使用 SkyWalking 時, 使用者可以看到服務與端點之間的拓撲結構, 每個服務/服務執行個體/端點的性能名額, 還可以設定報警規則。
架構
SkyWalking 邏輯上分為四部分: 探針, 平台後端, 存儲和使用者界面.
- 探針 基于不同的來源可能是不一樣的, 但作用都是收集資料, 将資料格式化為 SkyWalking 适用的格式.
-
平台後端, 支援資料聚合, 資料分析以及驅動資料流從探針到使用者界面的流程。分析包括 Skywalking
原生追蹤和性能名額以及第三方來源,包括 Istio 及 Envoy telemetry , Zipkin 追蹤格式化等。 你甚至可以使用
Observability Analysis Language 對原生度量名額 和 用于擴充度量的計量系統 自定義聚合分析。
-
存儲 通過開放的插件化的接口存放 SkyWalking 資料. 你可以選擇一個既有的存儲系統, 如 ElasticSearch, H2 或
MySQL 叢集(Sharding-Sphere 管理),也可以選擇自己實作一個存儲系統。
- UI 一個基于接口高度定制化的Web系統,使用者可以可視化檢視和管理 SkyWalking 資料。
設計目标
- 拓撲結構, 性能名額和追蹤一體化
- 輕量級:1.探針的輕量級;2.技術棧足夠簡單
- 可插拔:提供大量的特性支援可插拔
- 可移植:可運作在多種環境,包括傳統注冊中心Eureka、RPC架構如Spring Cloud, Dubbo、服務網格、雲服務、跨雲
- 可互操作:支援與其他運維系統進行互操作,主要是探針,如 Zipkin, Jaeger, OpenTracing 和 OpenCensus. SkyWalking 接收并了解他們的資料格式
參考文檔:
skywalking官網-概念與設計總覽
skywalking官網-設計目标