这是我目前的上游定义
upstream mybackend {
server cache-server;
server app-server-1 backup;
server app-server-2 backup;
}
每个请求都转到缓存服务器,当它关闭时,请求将转到app-server-1,而不会在app-server-1和-2之间进行平衡.
有可能做这样的事吗?
upstream mybackend {
server cache-server;
server app-server-cluster backup;
}
upstream app-server-cluster{
server app-server-1;
server app-server-2;
}
…当缓存服务器出现故障时,Nginx会占用app-server-cluster并在1到2之间取得平衡?
不,目前不支持以这种方式嵌套. http://nginx.org/docs/http/ngx_http_upstream_module.html#server的文档很清楚服务器指令接受什么样的参数.
另一方面,您是否确定在现有配置中Nginx不会平衡appserver-1和-2之间的负载,如果您同时指定为备份?文档没有具体说明在这种情况下会出现什么样的行为;我认为指定两个备份服务器应该使Nginx平衡所有这些备份服务器之间的请求;如果不是这样,但你需要它,那么也许你应该记录一个RfE:http://nginx.org/en/support.html.