自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

分布式鏈路追蹤最全詳解

云計算 分布式
追蹤是一個請求在分布式系統(tǒng)中的全局視圖,顯示了請求從起始到終點的流程,一個追蹤通常由多個分布式跨度(Span)組成。

分布式鏈路追蹤

分布式鏈路追蹤是一種用于監(jiān)控和調試分布式系統(tǒng)中請求流程的方法,在微服務架構非常重要。

隨著微服務架構的流行,在復雜的微服務架構系統(tǒng)中,會形成一個非常復雜的分布式服務調用鏈路。

如下圖所示:

圖片

當系統(tǒng)出現故障或異常時,需要快速確定問題的源頭。

分布式鏈路追蹤能夠幫助您識別故障點,追蹤請求在哪個環(huán)節(jié)出現問題,從而更快地排除故障。

分布式鏈路追蹤原理

分布式鏈路追蹤的原理涉及多個關鍵概念和組件,如下圖所示:

圖片圖片

主要會包含如下8大組件:

1.追蹤(Trace)

追蹤是一個請求在分布式系統(tǒng)中的全局視圖,顯示了請求從起始到終點的流程,一個追蹤通常由多個分布式跨度(Span)組成。

2.跨度(Span)

跨度表示一個操作的時間片段,它記錄了操作的開始和結束時間、操作名稱、標簽等信息。

例如:一個HTTP請求、數據庫查詢等都可以是一個跨度。

3.上下文傳遞(Context Propagation)

在分布式系統(tǒng)中,跨度之間需要共享上下文信息,以便正確地構建追蹤。

上下文傳遞確保在請求跨越不同服務時,相關信息如請求ID、時間戳等能夠被正確傳遞。

4.唯一標識

為了構建一個完整的追蹤,每個跨度都需要一個唯一的標識符,這個標識符被用于關聯不同跨度,構建一個完整的追蹤視圖。

5.采樣(Sampling)

由于分布式追蹤可能會產生大量的數據,采樣是一種控制數據收集量的方法。通過采樣,只有一部分請求和跨度會被記錄,以減少資源消耗。

6.代理和收集器

在應用程序中嵌入追蹤代理,它負責捕獲應用程序中的跨度數據,這些代理將跨度數據發(fā)送到追蹤收集器進行處理。

7.存儲和索引

追蹤收集器將跨度數據存儲在后端的存儲系統(tǒng)中,通常是分布式數據庫或索引系統(tǒng),這些存儲系統(tǒng)用于存儲、索引和檢索跨度數據。

8.可視化界面

存儲的跨度數據可以通過可視化界面進行查詢和展示,開發(fā)人員和運維人員可以使用這些界面來查看請求路徑、性能信息和問題定位。

分布式鏈路追蹤系統(tǒng)

有許多分布式鏈路追蹤系統(tǒng)和工具可以幫助實現這些原理。一些常見的分布式鏈路追蹤系統(tǒng)包括:

1.Skywalking

SkyWalking和Zipkin一樣,也是一個開源的應用性能監(jiān)控和分析系統(tǒng),在國內使用較多。

圖片圖片

主要功能:

  • 全鏈路追蹤: SkyWalking 支持全鏈路追蹤,可以追蹤分布式系統(tǒng)中請求的流程路徑。
  • 多語言支持: SkyWalking 提供多語言的客戶端,包括:Java、Python、Go、.NET等。
  • 性能指標收集: 除了追蹤數據,SkyWalking 還可以收集系統(tǒng)性能指標,比如:響應時間、吞吐量、錯誤率等。
  • 告警與通知: SkyWalking 允許設置警報規(guī)則,當性能或指標達到預定的閾值時,可以觸發(fā)告警通知。

工作原理:

  • 代理和收集器: 在應用程序中嵌入 SkyWalking 代理,它會捕獲請求中的跨度數據,并將數據發(fā)送到 SkyWalking 收集器。
  • 數據存儲: SkyWalking 收集器將跨度數據存儲在后端的存儲系統(tǒng)中,通常是數據庫或索引系統(tǒng)。這些存儲系統(tǒng)用于存儲、索引和檢索跨度數據。
  • 可視化界面: 存儲的跨度數據可以通過 SkyWalking 的可視化界面查詢和展示。用戶可以使用界面查看請求的路徑、性能信息和指標圖表。

2.Zipkin

Zipkin是一款開源的分布式實時數據追蹤系統(tǒng),Zipkin 是一個獨立的開源項目,由Twitter開發(fā)并開源。

Zipkin 提供了可視化界面,用于查看請求的流程、跨度和時間線。

如下圖所示:

圖片圖片

工作原理:

  • 代理收集數據: 在應用程序中嵌入 Zipkin 代理,它會捕獲請求中的跨度數據,并將數據發(fā)送到 Zipkin 收集器。
  • 數據存儲: Zipkin 收集器將跨度數據存儲在后端的存儲系統(tǒng)中,通常是數據庫或索引系統(tǒng)。這些存儲系統(tǒng)用于存儲、索引和檢索跨度數據。
  • 可視化界面: 存儲的跨度數據可以通過 Zipkin 的可視化界面查詢和展示。用戶可以使用界面查看請求的路徑、性能信息和時間線。

3.Sleuth

Sleuth是 Spring Cloud的鏈路追蹤組件,也同樣實現了分布式跟蹤解決方案。

Sleuth主要是為Spring生態(tài)系統(tǒng)設計的,它提供了與Spring Boot和Spring Cloud的緊密集成,使開發(fā)人員能夠更輕松地將分布式追蹤添加到Spring應用中。

Zipkin和Sleuth都是用于實現分布式追蹤的工具,但Sleuth更加專注于與Spring生態(tài)系統(tǒng)的集成,而Zipkin則更加通用,可以適用于多種語言和框架。

4.Jaeger

Jaeger 一個開源的分布式鏈路追蹤系統(tǒng),由CNCF維護,它支持跨度數據的收集、存儲、索引和可視化。

5.PinPoint

Pinpoint 是一個開源的分布式應用性能監(jiān)控工具,專注于跟蹤和監(jiān)控分布式應用程序和微服務架構的性能。

綜上所述,分布式鏈路追蹤是一個關鍵工具,用于分析分布式系統(tǒng)中的請求流程和性能。

通過構建完整的請求追蹤,開發(fā)人員和運維人員可以更好地理解系統(tǒng)的工作方式,找出性能問題,并提供更好的用戶體驗。

責任編輯:武曉燕 來源: mikechen的互聯網架構
相關推薦

2020-12-16 09:24:18

Skywalking分布式鏈路追蹤

2024-01-26 07:49:49

Go分布式鏈路

2021-02-22 07:58:51

分布式鏈路追蹤

2020-09-11 09:44:04

微服務分布式鏈路

2024-08-21 08:09:17

2023-11-21 08:25:09

2024-07-09 08:11:56

2024-11-28 08:57:21

分布式鏈路Skywalking

2021-11-08 14:10:37

分布式Spring鏈路

2022-11-26 09:49:07

分布式鏈路追蹤技術

2022-08-05 10:03:17

分布式微服務

2022-05-23 08:23:24

鏈路追蹤SleuthSpring

2023-10-26 00:00:00

分布式系統(tǒng)定位

2024-10-24 08:51:19

分布式鏈路項目

2019-10-10 09:16:34

Zookeeper架構分布式

2019-07-05 15:01:32

區(qū)塊鏈系統(tǒng)分布式存儲

2020-05-26 11:59:30

日志鏈路微服務架構

2011-09-13 14:21:00

IRF交換機基礎分布式鏈路聚合

2022-09-25 22:19:24

Dapr分布式追蹤

2010-03-24 17:07:52

無線分布式系統(tǒng)
點贊
收藏

51CTO技術棧公眾號