ユーザー体験を可視化する非同期処理の分散トレーシングとSLI計測:ジョブキューを跨ぐコンテキスト伝搬の仕組み
システムの疎結合化や重い処理の負荷分散などの目的で、ジョブキューが用いられます。ここで、素朴にキューサービスの前後のアプリケーションにトレースを計装するだけでは、トレースがキューサービスを跨げず途切れてしまうことがあります。 SLI/SLOの設計では、ユーザ体験に即したものであることが重要視されます。ユーザー目線で期待するレイテンシーで操作が行われているかを知るには、キュー内に滞留している時間も含めEnd-to-endで計測できる状態になっている必要があります。 今回は題材としてAmazon SQSを介した非同期処理・バッチ処理を取り挙げ、一連の処理を観測しやすくするOpenTelemetryトレースの計装方法をご紹介します。 - コンテキスト伝搬の仕組み - カスタムプロパゲーターの実装 - トレースのスパンリンクの活用 またこれを発展させ、End-to-endのレイテンシーをメトリックとして計測できるようにする手法も解説します。 ジョブキューやマイクロサービスを含むアーキテクチャにおいて、サービスを跨いだトレーシングやSLI計測に課題があると考える人向けのセッションです。