Why Use SQS over API Calls?
#aws #SQS
SQS > API Calls
API Calls
Service A, B があり、A -> B と状態の変化を伝えるために REST API を呼ぶとする(例えば update product inventory 的な)
Service B がダウンすると、Service Aには例えば 500 error が返ってきて、Service A もエラーになる。
SQS
service A -> SQS -> service B という導線
service A は SQS に message を publish し続けるだけ
Que はそれを middle-man として管理
service B は SQS に poll して結果を process する
service B がダウンしても A の処理には関係ない
-> いいね!
SQS の cons
SQSのデメリット:
即時性が必要な処理には向かない
メッセージの順序保証が標準キューでは難しい(FIFOキューは別)
初期設定やインフラ構築の手間が必要
処理状況の可視性が低い場合がある
API Callsのメリット:
リアルタイム性が高く、即時のレスポンスが得られる
シンプルで直感的な実装が可能
処理の結果をすぐに確認できる
エラーハンドリングが比較的容易