Java Spring Integration アプリケーションの計装
この記事では、Spring-Integration アプリケーションを Open Telemetry と X-ray を使用して手動で計装するアプローチについて説明します。
Spring-Integration フレームワークは、イベント駆動型アーキテクチャやメッセージング中心のアーキテクチャに典型的な統合ソリューションの開発を可能にするように設計されています。
一方、OpenTelemetry は、サービスが HTTP リクエストを使用して相互に通信および連携するマイクロサービスアーキテクチャに重点を置いています。
そのため、このガイドでは OpenTelemetry API を使用した手動計装により、Spring-Integration アプリケーションを計装する方法の例を提供します。
背景情報
トレースとは何か?
OpenTelemetry のドキュメント からの以下の引用は、トレースの目的について良い概要を示しています:
トレースは、アプリケーションにリクエストが行われた際に何が起こるのかの全体像を示します。アプリケーションが単一のデータベースを持つモノリスであっても、洗練されたサービスメッシュであっても、トレースはアプリケーション内でリクエストが辿る完全な「パス」を理解する上で不可欠です。
トレースの主な利点の 1 つがリクエストのエンドツーエンドの可視性であることを考えると、リクエストの発信元からバックエンドまで、トレースを適切にリンクすることが重要です。 OpenTelemetry でこれを実現する一般的な方法は、ネストされたスパン を利用することです。 これは、スパンが最終目的地に到達するまでサービスからサービスへと受け渡されるマイクロサービスアーキテクチャで機能します。 Spring Integration アプリケーションでは、リモートとローカルの両方で作成されたスパン間に親子関係を作成する必要があります。