0

关于 PHP 中的 memcached 模块,我有以下问题:

介绍:

我们正在使用该模块来防止相同的查询被发送到数据库服务器,在一个每时每刻都有 500 多个用户的站点上。

有时(非常罕见)memcahed 进程停止运行,所有活动用户开始生成对数据库的查询,因此一切都停止工作。

问题:

我知道,memcached 支持多台服务器,但我想知道其中一台死机时会发生什么?是否有某种平衡器背景或其他东西,可以告诉Ow! server 1 is dead. I'll send everything to server 2 until the server 1 goes back online.或负载被平等地发送给每个人?

可能的解决方案:

我需要知道这一点,因为如果不支持它,我们的系统管理员可以将当前的 memcached 服务器设置为负载均衡器并平衡其他几个服务器之间的负载。

我应该要求他手动创建负载平衡还是默认支持此功能?这两种方法的风险是什么?

谢谢!

4

1 回答 1

1

您在 PHP 脚本中添加多个服务器,而不是在 Memcache 的配置中。

使用 时Memcached::addServers(),可以为每个服务器指定权重。在您的情况下,您可以将一个 Memcache 服务器设置为高于另一个,并且仅将第二个服务器用作故障转移。

使用Memcached::setOption(),您可以设置重试连接的频率并设置超时。如果您知道您的 Memcache 服务器经常死机,那么将其设置为低于默认值可能是值得的,但这不是必需的。

于 2012-10-23T08:59:37.697 回答