分散トレーシング
ぶんさんとれーしんぐ
English: Distributed Tracing
意味
分散トレーシングとは、マイクロサービスアーキテクチャのように複数のサービスが連携して動くシステムにおいて、リクエストがどのように処理されたかを追跡(トレース)する技術。一つのリクエストがどのサービスを通り、どこで時間がかかったのかを可視化することで、パフォーマンスのボトルネックやエラーの原因を特定できる。
概要
マイクロサービスアーキテクチャのように、多数のサービスが連携して動くシステムにおいて、1つのリクエストがどのように処理されたかを追跡(トレース)する技術。「分散トレーシング」。
課題
従来のモノリシック(一枚板)なシステムではログを見れば原因がわかりましたが、マイクロサービスでは「注文サービス」→「在庫サービス」→「決済サービス」のように処理がまたがるため、どこで遅延やエラーが起きたのか特定するのが困難でした。
解決策
リクエストに「トレースID」というタグを付け、各サービスを通過するたびにそのIDとともにログを記録します。これを可視化ツール(Jaeger, Zipkin, AWS X-Rayなど)で見ることで、「在庫サービスで3秒かかっている」といったボトルネックを一目で発見できるようになります。