Question#15(Professional Cloud Developer)
あなたは Cloud Run 上に構築されたディスカッション ポータルを開発しています。外部からのリクエストは、レスポンスが送信される前に一連のマイクロサービスを経由してルーティングされます。これらのマイクロサービスの一部はデータベースに接続しています。
負荷がかかっているときのアプリケーションのボトルネックを特定するために、負荷テストを実行する必要があります。Google の推奨プラクティスに従いたい場合、あなたは何をすべきですか?
正解:B
複数のマイクロサービスが連鎖して動作する環境で「どこで時間がかかっているか」を特定するには、Cloud Trace が最も適しています。
なぜ B が正解なのか?
分散トレーシングの標準ツール: Cloud Trace は、単一のリクエストが複数のサービス(Cloud Run、Cloud Functions、データベース等)をまたいで処理される際の、各ステップの所要時間を可視化するための専用ツールです。
ボトルネックの可視化: どの子リクエスト(スパン)に最も時間がかかっているかが「ウォーターフォール図」で表示されるため、データベース接続が遅いのか、特定のマイクロサービスの計算が遅いのかを一目で特定できます。
低いオーバーヘッド: コードに大量のログを仕込むよりも、トレース用のライブラリを使用する方がパフォーマンスへの影響が少なく、Google が推奨する分散システムのデバッグ手法です。

コメント