【ぶんさんとれーしんぐ】
分散トレーシング とは?
💡 マイクロサービスの「荷物追跡」
📌 このページのポイント
- 1つのリクエストが複数サービスを通過する経路を可視化
- トレースID(リクエスト全体)とスパンID(各サービスの処理)で追跡
- Jaeger、Zipkin、AWS X-Ray、Datadogが代表的ツール
- OpenTelemetryが計装(instrumentation)の標準規格
なぜ普通のログだけじゃダメなの?
トレースIDとスパンIDの違いは?
OpenTelemetryって何?
トレース、メトリクス、ログを統一的に収集するためのオープンソース標準だよ。以前はOpenTracingとOpenCensusという2つの規格が乱立していたけど、統合されてOpenTelemetryになった。各言語のSDKが提供されていて、アプリにOpenTelemetry SDKを入れるだけで、Jaeger、Zipkin、Datadog等の好きなバックエンドにデータを送れるよ
導入のコツは?
①まずはエッジサービス(API Gateway)から始めて段階的に広げる、②自動計装(auto-instrumentation)を活用して既存コードの変更を最小限に、③サンプリング率を設定して全リクエストは記録しない(コスト対策)、④チーム全員がトレーシングダッシュボードを見る文化を作る。ツールを入れただけで使わないのが一番もったいないよ
📖 おまけ:英語の意味
「Distributed Tracing」 = 分散追跡
💬 Trace(追跡する)。宅配便の追跡番号のように、リクエストの「今どこにいるか」がわかるよ