7

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

我的理解是当我们使用一致的散列算法时,当一个节点关闭时,我们不需要担心,因为密钥会被重新分配(影响最小)

如果宕机的节点要加入池怎么办。我需要做什么?

我是否应该确保需要删除过时的数据?或者我的程序是否需要针对这种情况进行特殊处理?

4

1 回答 1

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 在添加之前刷新/刷新节点是安全的。强制关闭的节点清除任何过时的条目。

于 2013-08-08T14:24:44.290 回答