多个备份服务器如何在Nginx中工作?

对于backup指令,Nginx文档声明的最低限度是:

将服务器标记为备份服务器。 当主服务器不可用时,它将被传递请求。

如果您有多个备份并且主服务器出现故障,请问是否有一个备份指定了新的主服务器? 还是会Nginx之间的循环?

而且这是否也适用于TCP?

背景

我有一个主服务器和多个备份,但所有的连接应该总是去相同的主或备份。 有点像ip_hash负载均衡模式,除了它应该为所有的连接和客户端使用相同的服务器。

我做了一个testing,似乎nginx不支持多备份服务器。

 upstream a { server main_server:8080 max_fails=2 fail_timeout=5; server backup1:8080 backup; server backup2:8080 backup; } 

每当main_server:8080closures时, backup1:8080正确回复。 当main_server:8080backup1:8080closures时,连接将被拒绝,并且永远不会将其backup2:8080backup2:8080