我有一个自定义的工具,以下面的forms生成nginxconfiguration的一部分,例如:
upstream backend { ip_hash; server server1:8080; server server2:8080; server localhost:8080 backup; }
不时有些服务器出现故障,有些出现故障,下一次更新可能会产生以下结果:
upstream backend { ip_hash; server server1:8080; server server3:8080; server server2:8080 down; server localhost:8080 backup; }
正如你所看到的,server3已经出现了,server2被标记了下来。 我的问题是:nginx是否关心configuration中呈现的服务器的顺序? 我是否需要对自定义工具的输出进行sorting?
在这个例子中,最初的顺序被改变了,我不知道nginx是否能正确处理它。
IIRC,w / ip_hash旋转方法,顺序无关紧要。 Nginx将客户端IP散列化,然后将客户端发送到列表中的其中一个项目。 如果更改顺序,ip_hash将把客户端指向另一个上游节点。 根据这里的build议,我会将整个服务器列表保留在文件中,如果离线,只需将其标记为“down”即可。