私のアプリケーション(APPと呼ぶ)が正常に受信されるまでAmazon SNSに通知を送信する必要があるユースケースがありますが、メッセージの最大有効期間は1時間。AWS SNSメッセージの有効期間
APPがクラッシュし、1時間以内にライブを取得できないとします。私はまだ何とかこれらのメッセージを受け取る必要があります。 SQSから
- APPの世論調査:
は、それを実装するための複数の方法があります。私はAPPとAWSの間にあまりにも多くのネットワークトラフィックを生成するので、このオプションは気に入らない。
- SNSは、APPとSQSの両方に通知を送信します。 APPがメッセージを受信することができれば、それは即座にSQSから削除されます。 APPがメッセージを受信できない(クラッシュした)場合、起動時にSQSからメッセージをロードしてキューをクリーンにすることができます。
- メッセージングサービスとしてのAWSラムダコード。ラムダコードが失敗すると、メッセージはSQSデッドレターキューにプッシュされ、それ以外の場合はキューがクリーンに保たれます。 Lambaコードの更新を処理することはあまりにもオーバーヘッドであり、可能であれば純粋なAWSでこの問題を解決するのはクールです。
完璧な解決策は、SNSメッセージの無限タイムアウトを設定することですが、Amazonがサポートしていないようです。
この問題を解決するにはどうすればよい解決策だと思いますか?私は何かを逃したか?
非awsソリューションに依存する場合は、メッセージ履歴(保持)プラグイン付きのpubnubを使用できます。 – hjpotter92
ありがとうhjpotter92。高度にセキュリティ保護されたソリューションであるため、Amazon以外の第三者にデータを送信しないことをお勧めします。 –