本文へスキップ

分散トレーシングとは?

ぶんさんとれーしんぐ

マイクロサービスなど複数のサービスをまたいだリクエストの処理経路を追跡し、性能問題や障害の原因を特定する技術です。

分散トレーシング(Distributed Tracing)とは、複数のサービスやプロセスにまたがって処理されるリクエストの流れを一貫して追跡し、各処理ステップの所要時間・エラー依存関係を可視化するための技術・手法です。

モノリシックなアプリケーションでは一つのプロセス内でスタックトレースを確認すれば問題を特定できますが、マイクロサービスアーキテクチャではひとつのリクエストが多数のサービスをまたいで処理されます。どのサービスでレイテンシが増大しているか、どこでエラーが発生しているかを把握するには、サービスの境界を越えた追跡の仕組みが必要です。

分散トレーシングでは、リクエストが最初のサービスに到達した時点でトレースIDを発行し、後続のすべてのサービス呼び出しにそのIDを引き継ぎます。各サービスは処理開始・終了時刻などをスパンとして記録し、収集・集約されたスパンを組み合わせることでリクエスト全体の処理経路(トレース)を再構成します。

代表的なツールにはOpenTelemetry(計装の標準仕様)、Jaeger、Zipkin、AWS X-Rayなどがあります。スパンのサンプリング戦略や収集コストのバランスを取ることが運用上の課題です。APM(アプリケーションパフォーマンス管理)ツールと連携して活用されることも多く、クラウドネイティブなシステムの可観測性(Observability)の柱の一つとされています。

使い方・例文

APIレスポンスが遅い原因を調べるため分散トレーシングを確認したところ、決済サービスへの呼び出しで200ms以上の遅延が発生していることが判明した。OpenTelemetryを導入してマイクロサービス間のトレースを統一的に収集し、障害調査の効率を高めた。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語