開発者はAmazon Kinesis Data Streamsを使用してリアルタイムのクリックストリームデータを処理するシステムを構築しています。Lambda関数をコンシューマー(消費者)として使用する際、処理の並列性とスループットを最大化するための設定として最も適切なものはどれですか?
Enhanced Fan-Out(拡張ファンアウト)は各コンシューマーに専用の2MB/秒スループットをHTTP/2プッシュ型配信で提供し、複数コンシューマー間で帯域を共有する通常方式より低レイテンシを実現します。さらにParallelizationFactor(並列化係数)を1〜10に設定することで、1シャードに対し最大10の並列Lambda実行が可能となりスループットが大幅に向上します。 Aのシャード数を増やしてもParallelizationFactorを1に設定すると、シャードあたりの並列処理数は1つに制限されるため並列性の最大化にはなりません。 CのSQSキューをKinesisの前段に配置することはアーキテクチャを複雑にするだけで、Kinesisストリームの並列処理特性を活かした最大化にはなりません。 DのProvisioned Concurrencyはコールドスタート対策であり、処理スループットの最大化が目的ではありません。