サービス層で Memcached を使用して、負荷分散された Web サーバー環境で ASP.NET および WCF サービスを使用しています。
また、ASP.NET State Server (セッション状態用) の使用を Memcached に置き換えたいと考えていました。私が理解していることから、Memcachedは状態サーバーではなくキャッシュサーバーであるため、これは良いことではないのではないかと心配しています。それは本当ですか?
私の理解が正しければ、Memcached は Memcached ファーム内の他のノードにデータを配布していません。代わりに、特別なハッシュ アルゴリズムを使用して、ファーム内のどのノードに要求されたキーのデータが含まれているかを判断します。一方、ASP.NET ステート サーバーは、データが追加されるとすぐにデータを配布して、単一障害点を防ぎます。
つまり、Memcached はパフォーマンス上の理由でのみ使用する必要があります。Memcached に格納されているデータは、新しいオブジェクト用のスペースを確保するために項目が削除された場合、または実際にデータを格納している単一のマシンが失われた場合に備えて、常に再作成可能である必要があります。下。
では、セッション状態データを保存するためだけに Memcached に頼ることはできないのでしょうか? それができない場合、Memcached がどのように比較され、ScaleOut StateServer と ASP.NET State Server を使用する代替手段として見なされているのか理解できません。これらは実際には状態サーバーであるためです。これは別のことですよね?
Web サーバー ファームで高パフォーマンスの分散セッション状態を実現するための最善のアプローチは何かについて、少し確信が持てません。
ありがとう