概要

今日はAWS SQS(Simple Queue Service)について学んだ。

学んだこと

SQSはSimple Queue Serviceの略で、AWSが提供するフルマネージドのキューイングサービス。

キューイングとは、異なるソフトウェア間でデータを送受信する手法の一つ。ソフトウェア間で直接データを渡すのではなく、第三者(キュー)を経由してデータを渡すことで、送信側と受信側がそれぞれ好きなタイミングで処理を行うことができる。

SQSを使うことで「やってほしい仕事」をキューに入れておき、別のシステムが取り出して処理する仕組みが実現できる。郵便ポストのようなイメージで、送り手と受け手が同時にオンラインでなくても大丈夫。

キューイングの主なメリット:

疎結合 — 送信側と受信側のシステムが直接依存しないため、片方がダウンしていても影響を受けにくい

非同期処理 — 送信側はキューに積んだらすぐ次の処理に進めるため、レスポンスタイムを短縮できる

負荷分散 — 受信側の処理速度に合わせてキューからメッセージを取り出せるため、処理の偏りを防げる

耐障害性の向上 — キューにメッセージが残るため、受信側が一時的に落ちてもメッセージが失われない

参考文献

https://qiita.com/miyuki_samitani/items/e46ef9452fcd73f9d240