2

私たちのニーズに合わせて APPFabric キャッシュまたは SQL Server を使用する必要があるかどうかを判断するのに苦労しています (現在、ほとんどの場合に SQL サーバーを使用しているという事実を考慮して)。

(今のところ) アプリケーション サーバーの 1 つから送信された特定の要求 (発信要求) に関連付けられた情報に対応する小さなチャンク (~16KB) のデータをキャッシュするだけで済みます。

どのアプリケーション サーバーも、最初の送信リクエストに関連付けられた受信リクエストを受信できます。必要に応じて、この送信リクエストに関連付けられた元の情報を見つける必要があります。これは、送信リクエストの送信元であるアプリケーション サーバーに受信リクエストが到着するかどうかを確認できないためです。

ただし、基本的には ~16kb の情報を 1 回だけ保持する必要があり (更新の可能性は非常にまれです)、任意のアプリケーション サーバーからアクセスできるようにする必要がありますが、ほとんどの場合は 1 回だけアクセスします。したがって、基本的にほとんどの場合、アプリケーション サーバーからの 1 回の書き込み (キャッシング) と、同じまたは別のアプリケーション サーバーからの 1 回の読み取りになります。

この特定のコンテキストでは、データベースに直接アクセスする代わりに、AppFabric キャッシュ クラスターを経由するメリットはありますか (単純な挿入/選択ステートメントになると考えてください)。

スケーラビリティを念頭に置いてください。つまり、現在 put_data / get_data 操作のスループットは高くありませんが (~160ops/秒)、1K/s .. 10k/s に達する可能性があり、近い将来にはそれ以上になる可能性があります。

ご回答ありがとうございます。

4

1 に答える 1

1

AppFabric Cacheと SQL DBの利点は、アクセス時間です。AppFabric はすべてをメモリ (RAM) に格納するため、アクセス時間が短縮されますが、SQL はディスクからデータをクエリする必要があります。

AppFabric キャッシュの欠点は、システム障害時のデータ損失を回避するためにクラスターに HA (高可用性) を実装していない限り、データを失う可能性があることです。SQL DBは、データベース システムに障害が発生した場合に(バックアップ ログ - LDF を介して)データの回復性をサポートするため、ここで有利です。

保証されたメッセージ配信が必要な場合は、おそらく AppFabric キャッシュ クラスターを使用するべきではありませんが、堅牢なデータ復旧サポートにより、一時的な永続性のために SQL DB を使用する必要があります。

于 2012-04-30T16:49:03.867 に答える