回答編集履歴
2
使い分けについて追記。
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
再試行の時間について一言追記。
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
SNS の配送が失敗した場合、SNS は 3回まで再試行します。
|
1
|
+
SNS の配送が失敗した場合、SNS は時間を開けて 最大 3回まで再試行します。
|
2
2
|
|
3
3
|
再試行がすべて失敗した場合はSNSは配送を諦めてしまうので、通知は取りこぼされます。
|
4
4
|
|