nginx(memcached_pa​​ss)中的上游如何工作?

nginx(memcached_pa​​ss)中的上游如何工作?

如果前一个主机不可用或不存在,nginx 是否会转到上游块中的下一个主机?

upstream cache_cluster {
   127.0.0.1:9000;     //something on this port
   127.0.0.1:11211;   //memcached instance on this port
}

location  {
 //..some code here
 memcached_pass cache_cluster;
 error_page 404 502 504 =  @something;
}

答案1

上游仅提供服务器列表和某种权重。要告诉 Nginx 如果某个服务器发生故障该做什么,您需要使用 memcached_next_upstream 进行控制。

来自Nginx 文档

memcached_next_upstream

句法:memcached_next_upstream [错误 | 超时 | invalid_response | not_found | 关闭]

默认:错误超时

语境:http,服务器,位置

哪些故障情况会导致请求被转发到另一个上游服务器?仅当 memcached_pa​​ss 中的值是具有两个或更多服务器的上游时才适用。

正如文档中所述,默认行为是错误/超时,在大多数情况下这应该足够了。

相关内容