How*_*ard 6 java memcached spymemcached consistent-hashing
我使用spymemcached&HashAlgorithm.KETAMA_HASH连接到5个节点的memcached池.
我的理解是当我们使用一致的哈希算法时,例如,当一个节点关闭时,我们不需要担心,因为密钥将被重新分配(具有最小影响)
如果下行节点要加入池,该怎么办?我需要做什么?
我应该确保需要删除陈旧数据吗?或者我的程序是否需要针对此案例进行特殊处理?
鉴于本文档是准确的: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 在将节点添加回来之前刷新/刷新节点是安全的。强制关闭的节点清除任何过时的条目。