そのため、契約が存在しない場合にのみ、memcached と add() のストアを使用して分散ロックを実装しようとしています (Java と spymemcached ですが、もちろんどの言語にも適用できます)。もちろん、インスタンスがなくなるとロックが失われるため、ロックを 3 回 (例: MyLock1、MyLock2、MyLock3) 追加すると、3 つの異なるインスタンスにハッシュ アウトする可能性が非常に高くなります。
しかし、インスタンスがハッシュをダウンすると明らかに変化することに気付きました (spymemcached の Redistribute 失敗モードを使用)。 memcached クラスター内の残りの 2 つのロックのいずれかに一致します。
それで... memcachedを使用した分散ロックの他のアイデアはありますか? それとも、私が言及しているように保証されたロックを行うことは基本的に不可能ですか?
編集: 再配布モードの場合、spymemcached ソース コードを調べると、何も再ハッシュするのではなく、リスト内の次のアクティブな memcached インスタンスに移動するだけなので、問題なく動作するはずです。