設計思想とプログラム

サンプルソースの構想(2本目)

スポンサーリンク

前説

Lambdaでの開発を、それなりの本数開発してると、欲しくなってくるパターンの処理が、非同期の多重度を設定変更可能な処理である。

  • S3にCSVファイルをアップロードしたトリガーで、全ての行をDynamoDBに登録
  • SQSに格納されてるメッセージを一定数取り出してFirehoseに流し込む
  • SQSに格納されてるメッセージを外部のクラウドAPIに流し込む

などなど、、、

いわゆるjavaで言う所のマルチスレッドのような処理をNode.jsでしたくなるシチュエーションが往々にしてある。
という訳で、次回のサンプルソースは、「N件データを多重度を指定して非同期に1件ずつ処理をする。」にしようと思う。

概要

文章だけだと分かりにくいので、下記の図を見てください。

Node.jsはシングルスレッド処理なので、あくまでも疑似的な処理順序のイメージです。
非同期で外部APIなどを呼ぶのは良いのだけど、メモリ内で処理できる物は処理を効率的に進めたい。と考えました。

推奨URL/参考文献

本基底処理を制作するに辺り、非常に勉強させて貰いました。(後日公開)

[JavaScript] 非同期処理のコールバック地獄から抜け出す方法

https://qiita.com/LightSpeedC/items/7980a6e790d6cb2d6dad

ES2017 async/await + Promise で解決できる事、とES2015(ES6) generators (yield) + Promise + npm aa (async-await) で解決できる事

https://qiita.com/LightSpeedC/items/95e3db59276e5d1d1a0d

 

スポンサーリンク

-設計思想とプログラム
-, , , , , , ,

© 2020 とあるAWSエンジニアの戯言