AZ-305:Designing Microsoft Azure Infrastructure Solutions インフラストラクチャソリューションの設計 問4
インフラストラクチャソリューションの設計/アプリケーションアーキテクチャの設計製造業の企業が、工場に設置した約 5 万台のセンサーから毎秒数百万件のテレメトリを Azure に取り込みます。ストリーム処理と、長期保管のための生データの保存という 2 つの独立したコンシューマーが、それぞれ自分のペースで同じデータを読み取る必要があります。障害時には、過去の特定時点から再読み取りして再処理できることも求められています。取り込み基盤として最も適切なものはどれですか。
当サイトのオリジナル問題(AZ-305:Designing Microsoft Azure Infrastructure Solutionsの出題範囲「インフラストラクチャソリューションの設計」に対応。実際の試験問題ではありません)
- AAzure Service Bus のトピックとサブスクリプションを使用する
- BAzure Event Grid のシステムトピックを使用する
- CAzure Queue Storage のキューを使用する
- DAzure Event Hubs(Standard 以上)にイベントを取り込み、コンシューマー グループごとに独立して読み取る
正解:D
解説
Azure Event Hubs は、大量のイベントストリームを取り込むための分散ストリーミング基盤です。パーティションとコンシューマーグループにより、複数のコンシューマーが同じデータを独立して読み取れ、保持期間内であれば任意のオフセットや時刻から再読み取りできます。Service Bus は 1 件ずつの確実な処理が必要な業務メッセージ向けで、この規模のテレメトリには不向きです。Event Grid は状態変化の通知を反応型に配信するもので、高スループットなストリーム取り込みやリプレイには使いません。
選択肢ごとの解説
- A誤り。トピックとサブスクリプションで複数の購読者に配るモデルは満たせますが、メッセージは処理後に消費される前提で、毎秒数百万件の取り込みと時点指定の再読み取りは想定されていません。
- B誤り。Event Grid はリソースの状態変化などの離散的なイベントをプッシュ配信する基盤です。テレメトリのストリーム取り込みや過去時点からのリプレイには向きません。
- C誤り。Queue Storage では、メッセージは取得して処理されると削除されます。複数のコンシューマーが同じデータを独立して読み、過去へ遡って再処理する要件を満たせません。
- D正しい。パーティションとコンシューマーグループにより、複数のコンシューマーが独立して同じストリームを読み取れ、保持期間内なら再読み取りもできます。大規模なテレメトリ取り込みの典型的な選択です。