memcached_next_upstream_tries

指令 `memcached_next_upstream_tries` 用于配置在将请求判定为失败之前要尝试多少个 memcached 服务器。 — NGINX HTTP Core

memcached_next_upstream_tries
httpserverlocation
语法memcached_next_upstream_tries number;
默认值1
上下文http, server, location
模块NGINX HTTP Core
参数1

说明

NGINX 中的 `memcached_next_upstream_tries` 指令指定在与后端缓存通信时遇到某些定义的错误时将尝试的 memcached 服务器数量。该指令的主要目的是通过在当前服务器不可达或返回错误时允许 NGINX 尝试向其他 memcached 服务器发起请求,从而增强缓存访问的容错性。在具有多个 memcached 服务器以实现负载均衡和冗余的环境中,这一点尤其有用。 当对某个 memcached 服务器的请求因为连接问题或服务器错误而失败时,NGINX 会在其他 memcached 服务器上重试该请求,最多重试到本指令指定的次数。如果所有指定的尝试都失败,该请求最终将以错误返回给客户端应用程序。需要注意的是,该指令的有效运行依赖于在你的 memcached 配置中定义了多个 memcached 服务器,否则该指令不会产生任何影响。 该指令的参数是一个简单的整数值,表示重试次数。如果想禁用对备用服务器的尝试,可以将其设置为 `0`;要定义具体的重试次数,可设置为 `1` 或更高。过多的重试可能导致响应时间延长,而重试次数太少则可能在服务器对瞬时故障敏感时导致更频繁的失败。

配置示例

location /memcached {
    memcached_pass 127.0.0.1:11211;
    memcached_next_upstream_tries 3;
}

将 retries 设置得过高可能导致响应时间延长,尤其在网络较慢或服务器繁忙的环境中。

如果未配置其他 memcached 服务器,则增加 retries 不会产生任何效果,因为没有可连接的备用服务器。