分布式追蹤系統Jaeger初探

2021-09-24 23:10:56 字數 846 閱讀 3182

特性詳情

參考資料

uber發布了一篇部落格,講述了分布式追蹤系統在其內部的發展過程,以及jaeger選用當前架構的原因。

jaeger的後端設計旨在不會出現單點故障,並且會隨著業務擴容。

jaeger的後端,前端ui,開發庫都是一開始就被設計為支援opentracing標準的。

jaeger支援兩種流行的開源nosql資料庫作為trace儲存後端,分別是cassandra 3.4+ 和 elasticsearch 5.x/6.x。社群也正在實驗使用其他的資料庫,例如scylladb, influxdb, amazon dynamodb。jaeger同樣也提供了基於記憶體的儲存,作為測試使用。

jaeger web ui使用流行的開源框架(如react),在1.0版本以後有了效能上的改進,可以處理大量的資料。

jaeger的後端是分布式的,可以用docker映象部署,並支援多種配置模式,包括命令列,環境變數,多種格式的配置檔案(yaml、toml等)。可以通過kubernetes operator、kubernetes templates、helm chart的方式部署到kubernetes集群中。

所有的jaeger後端元件都會預設暴露prometheus監控指標(其他的監控後端也支援),使用結構化日誌後端zap來記錄日誌。

如果你已經使用了zipkin相關的庫,那麼不需要重寫所有的**。從zipkin後端切換只需要將流量路由到jaeger後端。

SkyWalking 分布式追蹤系統

隨著微服務架構的流行,一些微服務架構下的問題也會越來越突出,比如乙個請求會涉及多個服務,而服務本身可能也會依賴其他服務,整個請求路徑就構成了乙個網狀的呼叫鏈,而在整個呼叫鏈中一旦某個節點發生異常,整個呼叫鏈的穩定性就會受到影響,所以會深深的感受到 銀彈 這個詞是不存在的,每種架構都有其優缺點 目前主...

初探分布式系統之資料拆分

個人對分布式系統的涉及很感興趣,但分布式系統涉及的知識非常多,剛開始學習時也是各個點分散的學習。前兩天對於資料拆分這一塊做了乙個總結,因此記錄下來。技術出現的原因都是為了解決問題,本文章也是按照這個思路去 的。一台機器的處理能力有限,當資料量大了後效能下降,而且硬體單機成本不高。垂直分庫 根據業務單...

Google分布式鏈路追蹤系統Dapper介紹

現代的大型應用系統一般是複雜的分布式系統,他們由許多的軟體模組構成,這些軟體模組可能由不同的團隊用不同的程式語言編寫而成,因此那些傳統的用於理解系統行為,分析效能問題的工具,在這種複雜環境下變得失效。主要有三個設計目標 額外的設計目標 使跟蹤資料在收集後能夠被盡快得用於分析 設計理念與 magpie...