1

私はキャッシュの不一致のために私に問題を与えている6つのWebサーバを持っています。私は、すべてのサーバーがメッセージを公開してオブジェクトを無効にするトピックがあるように、キャッシュ無効化サービスを構築することを考えています。トピックを作成するためにAmazon SNSを使用することを検討しています。サーバは無効化メッセージを受信するためサーバ間でのキャッシュの無効化

は今、私は次の間で混乱しています:

  1. は、私がメッセージを受信するためのサーバーのSQSキューを使用する必要があります。
  2. HTTPエンドポイントを使用して、そのルート上にキャッシュを無効にするAPIを作成する必要があります。 これらのアプローチや私に恩恵を受けるかもしれない他のアプローチの長所と短所を強調してください。

答えて

3

ご使用の場合、httpエンドポイントが最適です。あなたはSNSにメッセージを送り、購読している各エンドポイントはホストしている新しいapiエンドポイントで呼び出され、キャッシュをクリアします。

ここでは、SQSを使用するのが最適ではありません。使用するには、6つのキュー(またはサーバーごとに1つずつ)が必要です。アプリケーションごとに、常にバックグラウンドで実行して新しいメッセージをチェックし、メッセージを 'プル'する - httpエンドポイントは「プッシュ」操作であり、それがあなたが望むものです。

+0

ありがとうございます。私が言及するのを忘れた何かがある。 NGINXを使用して、6つのサーバーのいずれかに要求をリダイレクトします。 HTTPエンドポイントを使用している場合、トピックはサーバーのうちの1つのみを起動します。私はまた、私のアプリケーションが実行されているポートがわからない。 NGINXサーバーをバイパスしたり、オンザフライでポートを見つけてサーバーにヒットしたりする方法を教えてください。 – tanvi

関連する問題