デベロッパーアソシエイトの勉強をしていたところ、試験ガイドに「ファンアウト」と記載されていました。
ファンアウトってなんぞ...?と思ったので、詳しく調べてみました。
(AWS公式の資料にも説明がなく、日本語のドキュメントがほとんどなかったので、主に英語ドキュメントからの引用です)
ファンアウト(Fan-out)とは
ファンアウトは、大きなタスクを小さなサブタスクに分割することです。
複数のタスクに分割することで並行処理できるようになり、プロセス全体を迅速かつパフォーマンスの高い方法で処理できるようになります。
ファンイン(Fan-in)とは
ファンインは、ファンアウトされたサブタスクから結果を収集する場合に利用されます。
例えば、アプリケーションがすべてのサブタスクが完了するのを待ってから、プロセス全体を進める場合にも役立ちます。
AWSサービスとの関係
ファンアウトは、例えばSNSから複数のLambdaを起動させるようなアーキテクチャに用いられます。
一方、ファンインは分散処理した結果を一か所のデータレイクやデータウェアハウスへ格納する場合に用いられるアーキテクチャです。格納先にはDynamoDBやS3などが挙げられます。
(参考)
https://dev.to/byrro/crash-course-on-fan-out-fan-in-with-aws-lambda-47g0
https://theburningmonk.com/2018/04/how-to-do-fan-out-and-fan-in-with-aws-lambda/