如何在使用spymemcached&时处理恢复memcached节点HashAlgorithm.KETAMA_HASH

时间:2013-07-31 16:28:04

标签: java memcached spymemcached consistent-hashing

我正在使用spymemcached& HashAlgorithm.KETAMA_HASH连接到5个节点的memcached池。

我的理解是当我们使用一致的哈希算法时,例如,当一个节点关闭时,我们不必担心,因为密钥将被重新分配(具有最小影响)

如果下载节点要加入池,该怎么办?我需要做什么?

我应该确保需要删除陈旧数据吗?或者我的程序是否需要针对此案例进行特殊处理?

1 个答案:

答案 0 :(得分:4)

鉴于此文件准确无误:http://info.couchbase.com/rs/northscale/images/Couchbase_WP_Dealing_with_Memcached_Challenges.pdf

  

如果有任何网络中断,并且一个或多个客户端决定某个特定的网络   memcached服务器不再可用,它们会自动将一些数据重新转换为   其余节点即使原始节点仍然可用。如果节点最终返回服务(例如,在网络中断解决后),该节点上的数据将过期,没有更新的密钥 - 服务器重映射信息的客户端将读取陈旧数据。

假设这仍然是最新的:http://lists.danga.com/pipermail/memcached/2007-April/003852.html 在将节点添加回节点之前,可以安全地刷新/刷新节点。强制下行节点清除任何过时的条目。