【发布时间】:2012-07-30 21:15:57
【问题描述】:
我正在使用 Memcache (Not memcacheD) 。如果我有 10 个 memcache 服务器并且其中 1 个失败了,它会自动从池中删除吗?我的意思是,当我的应用程序尝试请求缓存时,它会尝试从那台失败的服务器获取关键数据吗?
【问题讨论】:
标签: php caching memcached scalability
我正在使用 Memcache (Not memcacheD) 。如果我有 10 个 memcache 服务器并且其中 1 个失败了,它会自动从池中删除吗?我的意思是,当我的应用程序尝试请求缓存时,它会尝试从那台失败的服务器获取关键数据吗?
【问题讨论】:
标签: php caching memcached scalability
我不认为它会被删除,但如果您添加了多个节点,则会提供自动故障转移。您可以在此处配置故障转移行为:http://php.net/manual/en/memcache.ini.php
这是来自文档的引用:
故障转移可能发生在任何方法的任何阶段,只要 其他服务器可用用户不会注意到的请求。任何 一种套接字或 Memcached 服务器级别错误(内存不足除外) 可能会触发故障转移。正常的客户端错误,例如添加 现有密钥不会触发故障转移。
当然,这假设所有数据都在这些节点上进行了镜像,因为您必须在应用程序端实现分片/集群。
【讨论】: