2

私は現在、Microsoft Azure で実行される WCF REST Web サービスを開発しています。悪用を防ぐために IP アドレスごとの要求数を制限するために、現在、ASP.NET キャッシュを使用して IP とタイムアウトを保存しています。

この方法はうまく機能しますが、Azure を使用する複数の VM インスタンスは単一のキャッシュを共有しないため、要求が異なる VM 間で分割され、VM がリセットされるとクリアされる可能性があります。

これは大きな問題ではないと思いますが、既にユーザー情報を SQL Azure データベースに保存し、WCF サービスを使用してユーザーを認証しているため、ASP.NET キャッシュの代わりにデータベースを使用した方がよいでしょうか?

どんなアドバイスも本当に役に立ちます。

4

2 に答える 2

2

ハイブリッド アプローチの使用についてはどうでしょうか。キャッシュに入れるだけでなく、SQL データベースに格納することもできます。次に、別のインスタンスにヒットすると、データベースに保存された時間とともにキャッシュに入れられます。データベースへのラウンドトリップを最小限に抑え、すべてのサーバーで情報を利用できるようにします。

于 2010-07-22T01:18:38.070 に答える
1

しきい値がいつ受け入れられるかを決定する必要があります。
キャッシュからのデータは高速になりますが、実際の現在のデータを表していないリスクがあります。データベースからのデータのフェッチは新鮮ですが、データベースへの往復には時間がかかります。

于 2010-07-22T01:09:58.737 に答える