kullanırken kurtarma memcached düğümleri nasıl ele alınır 5 düğümlü bir havuz havuzuna bağlanmak için spredmced & HashAlgorithm.KETAMA_HASH kullanıyorum.Spymemcached & HashAlgorithm.KETAMA_HASH
Benim anlayış biz böyle tutarlı bir karma algoritması kullandığınızda bir düğüm aşağı olduğunda, biz anahtar yeniden dağıtılacak şekilde
Ya (dk. Etkisiyle) endişelenmenize gerek yok olduğunu down-ed düğümü havuza katılacak. Ne yapmam gerekiyor?
Eski veriler kaldırıldığından emin olmalı mıyım? Ya da programımın bu dava için özel işlemeye ihtiyacı var mı?
Anladığım kadarıyla tüm eski verileri tüm düğümlerde temizlemem gerekiyor. Niye ya? Bazı istemciler down-ed düğümünü görebiliyor olabilir, ancak bazı istemciler hala düğümün kapalı olduğunu varsayabilir. Bu nedenle, istemcilerin anahtarı farklı düğümlere ayırabileceği için, veri tutarsızlığı oluşabilir. Ancak bu problem, memmun düğümlerin tümünü kilitlemenin ve fışkırtma işlemini gerçekleştirmenin bir yolu olmadığı sürece - yarış koşullarından kaçınmak için zor. – Howard
Benim düşünceme göre, sadece down-ed düğümünü yıkamak için hala güvenli olduğunu düşünüyorum. Temiz, eğer düğümde herhangi bir talep varsa, yeni ve yeni bilgiler ekleyerek bir bayanla sonuçlanacaktır. Eğer müşteri düşündüğünüzü düşünürse, bir başka sonuca da yol açacaktır. Bu olursa, her iki düğüm de örneğin 'foo' anahtarına sahiptir. Down-ed düğümü bu müşteriye çevrimiçi olarak geri döndüğünde, tekrar temizlemeniz gerekir. İşte bu konuda daha fazlası var: http://www.caiapps.com/duplicate-key-problem-in-memcache-php/ –
evet ama ne dediniz sadece tek bir istemci ancak birden fazla sunucu olduğunda geçerlidir. Farklı istemcileri belirli bir zamanda aynı kümedeki memcached sunucularını kullanacak şekilde koordine etmenin bir yolu yoktur (tutarlı karma kullanımı kullanarak varsayalım). – Howard