2010-12-14 4 views
0

ユーザーセッションのMemcacheとセッションロックに関する質問があります。 私は我々がそうのような状況があるメモリの一貫性||スレッドの干渉|| Php

...ユーザーセッションのためのねじ干渉を防ぐことができます何かをロックしたり、やりたい:サーバーが最大である場合には、ユーザーが「無料」のサーバーにリダイレクトされ

が、この時点ではデータの一部が間違っています...

だから誰でも欲求がありますか?

+0

正確に何を意味するのかよく分かりませんが、サーバーの負荷を分散する場合は、サーバー間でセッションを共有する必要があります。セッションをmemcacheまたはデータベースに設定する必要があります。私はあなたがmemcacheセッションを使用していると思いますか?はいの場合は何が問題ですか? – Fanis

+0

セッションはmemcacheにロードされ、問題はデータの整合性ですが、一部のデータは間違った値で格納されることはほとんどありません。そして、私は理由を知りません:/ – xyz

答えて

0

すべてのMemcachedサーバーは、app/etc/local.xmlファイルにリストされていて、サーバーごとに同じである必要があります。セッションデータを共有します。

さらに、負荷分散ポリシーの方が「整合性のあるハッシング」であることがあります。ユーザーは利用可能なサーバーに均等に分散され、各ユーザーは同じサーバーによって処理され、したがって同じセッションが処理されます。

+0

サーバはlocal.xmlにリストされています Hmmm ...私は "整合性のあるハッシュ"を試みると思います... – xyz

+0

一貫した戦略はこの状況では機能しません... – xyz

+0

それを聞く。本当に助けになると思った。 – clockworkgeek

0

セッションを複数のサーバーに分散する場合は、サーバーの追加/削除時のミスの回数を減らすため、整合性のあるハッシングを使用することをお勧めします。

Memcachedはロックをサポートしていませんが、新しいmemcachedモジュールは、support for lockingを提供する回避策があります。私はまだそれを使用していない。

関連する問題