トレーシング(分散)とは?
とれーしんぐ
分散トレーシングとは、マイクロサービスなど複数のサービスにまたがるリクエストの処理経路を追跡し、遅延やエラーの原因を特定するための技術です。
分散トレーシング(Distributed Tracing)とは、マイクロサービスアーキテクチャやクラウドネイティブシステムにおいて、一つのリクエストが複数のサービス・コンポーネントをまたいで処理される様子を記録・可視化する観測手法です。
現代のWebアプリケーションでは、フロントエンド・APIゲートウェイ・認証サービス・データベース・メッセージキューなど多数のサービスが連携します。障害や遅延が発生した際、どのサービスのどの処理がボトルネックになっているかをログだけで特定することは困難です。分散トレーシングはこの問題を解決します。
基本的な仕組みは次のとおりです。
- リクエスト開始時に一意のトレースIDを発行する
- 各サービスがスパン(処理の開始・終了・メタデータ)を記録する
- スパンはトレースIDで紐づけられ、ツリー構造として可視化される
- 全体の処理時間・各サービスの所要時間・エラー箇所が一目でわかる
代表的な実装・ツールとして、Jaeger、Zipkin、AWS X-Ray、OpenTelemetry(標準仕様)などがあります。SRE(サイト信頼性エンジニアリング)や可観測性(Observability)の三本柱の一つとして、メトリクス・ログと並んで重要視されています。
使い方・例文
「APIレスポンスが遅い原因を調査する際、分散トレーシングツールでトレースを確認すると、データベースクエリに時間がかかっているスパンをすぐに特定できます。」
この用語をシェア
最終更新: