天天看點

微服務架構 | 10. 分布式追蹤

目錄

  • 前言
  • 1. 分布式追蹤的基本概念
    • 1.1 該技術的提出背景
    • 1.2 分布式追蹤的幾種不同方向
    • 1.3 日志聚合架構的概念圖
    • 1.4 幾種開源的日志聚合産品
    • 1.5 目前幾種流行的分布式追蹤元件對比
  • 2. Spring Cloud Sleuth
  • 3. Papertrail
  • 4. Zipkin
  • 最後

參考資料:

《Spring Microservices in Action》

《Spring Cloud Alibaba 微服務原理與實戰》

《B站 尚矽谷 SpringCloud 架構開發教程 周陽》

微服務的調試問題會比較複雜,可以使用分布式追蹤解決;

又稱:分布式請求鍊路跟蹤;

  • 在微服務架構中,一個由用戶端發起的請求在後端系統中會經過多個不同的的服務節點調用來協同産生最後的請求結果,每一個前段請求都會形成一條複雜的分布式服務調用鍊路,鍊路中的任何一環出現高延時或錯誤都會引起整個請求最後的失敗;

  • 追蹤日志鍊 -> Sleuth:使用一個追蹤 ID 将跨多個服務的日志串聯起來
  • 日志聚合 -> Papertrail:将所有服務執行個體的日志流到一個集中的聚合點;
  • 可視化事務流 -> Zipkin:
  • 正好對應下面将要介紹的三種技術;

微服務架構 | 10. 分布式追蹤

産品名稱 實作模式 備注
Elasticsearch;Logstash;Kibana (ELK) 開源;商業;通常實施與内部部署 通用搜尋引擎;可以通過 ELK 技術棧進行日志聚合;需要最多的手工操作
Graylog 開源;商業;内部部署 設計為在内部安裝的開源平台
Splunk 商業;内部部署和基于雲 最古老且最全面的日志管理和聚合工具;最初是内部部署,後來提供雲服務
Sumo Logic 免費增值模式;商業;基于雲 免費增值模式/分層定價模型;僅作為雲服務運作;需要用公司的工作賬戶去注冊
Papertrail 免費增值模式/分層定價模型;僅作為雲服務運作;

名稱 廠商 特點(優點) 缺點
Spring Cloud Sleuth Spring Cloud
Zipkin

Spring Cloud Sleuth 是一個 Spring Cloud 項目,它将關聯 ID 裝備到 HTTP 調用上,并将生成的跟蹤資料提供給 OpenZipkin 的鈎子。Spring Cloud Sleuth 通過添加過濾器并與其他 Spring 元件進行互動,将生成的關聯 ID 傳遞到所有系統調用;
  • 即:使用追蹤D将跨多個服務的事務連結在一起;
  • 點選通路:微服務架構 | 10.1 使用 Sleuth 追蹤服務調用鍊;

Papertrail 是一種基于雲的服務(基于免費增值),允許開發人員将來自多個源的日志資料聚合到單個可搜尋的資料庫中。開發人員可以為日志聚合選擇的解決方案包括内部部署解決方案、基于雲解決方案、開源解決方案和商業解決方案;
  • 即:來自多個服務的日志資料聚合為一個可搜尋的源 ;
  • 點選通路:微服務架構 | 10.2 使用 Papertrail 實作日志聚合;

Zipkin 是一種開源資料可視化工具,可以顯示跨多個服務的事務流。Zipkin 允許開發人員将事務分解到它的元件塊中,并可視化地識别可能存在性能熱點的位置;
  • 即:可視化跨多個服務的使用者事務流,并了解事務每個部分的性能特征 ;
  • 點選通路:微服務架構 | 10.3 使用 Zipkin 可視化日志追蹤;

新人制作,如有錯誤,歡迎指出,感激不盡!

歡迎關注公衆号,會分享一些更日常的東西!

如需轉載,請标注出處!

繼續閱讀