回答編集履歴

2

使い分けについて追記。

2020/08/18 13:45

投稿

take88
take88

スコア1407

test CHANGED
@@ -4,8 +4,12 @@
4
4
 
5
5
 
6
6
 
7
- http の場合は、サーバーがダウンしたとき、応答がなくタイムアウト(15秒)したとき、HTTP 500応答が有ったとき、などに失敗します。
7
+ http の場合は、サーバーがダウンしたとき、応答がなくタイムアウト(15秒)したとき、HTTP 500応答が有ったとき、などに失敗します。SQSの場合は、アプリケーションの処理が成功するまでキューに残ってますので、取りこぼしが起きにくいのがメリットです。
8
8
 
9
9
 
10
10
 
11
+ 使い分けとしては、通知の取りこぼしを許容できる場合かつ、上記で書いたような失敗するケースは気にしなくていいなら httpで問題ないと思います。取りこぼしが許容できない場合、または、通知が失敗する可能性が高い場合は、SQSを考えたいところです。また、サーバーのスペック、台数などを試算して、費用が安い方を選ぶという考え方もあると思います。
12
+
13
+
14
+
11
- SQSの場合は、アプリケーションの処理が成功するキュー残ってますので、取りこぼが起きにくいのがメリットです
15
+ ただ、SQSは 順序が保証されない重複することがあるといった、クセがあるの、SQSの特徴をよく理解してから採用しないと、困ったことなる場合がありますので、ドキュメントなどを読んで 理解た上で使ってださい。

1

再試行の時間について一言追記。

2020/08/18 13:45

投稿

take88
take88

スコア1407

test CHANGED
@@ -1,4 +1,4 @@
1
- SNS の配送が失敗した場合、SNS は 3回まで再試行します。
1
+ SNS の配送が失敗した場合、SNS は時間を開けて 最大 3回まで再試行します。
2
2
 
3
3
  再試行がすべて失敗した場合はSNSは配送を諦めてしまうので、通知は取りこぼされます。
4
4