我有两个Varnish服务器,我计划添加更多的清漆服务器.我正在使用Nginx负载均衡器将流量划分到这些清漆服务器.为了利用每个清漆服务器的最大RAM,我需要相同的请求到达相同的清漆服务器.请求URL中的一个GET参数可以识别相同的请求,说’a’
在正常的代码中,我会做一些像 –
(如果我需要划分2个Varnish服务器之间的所有流量)
if($arg_a % 2 == 0) {
proxy_pass varnish1;
}
if($arg_a % 2 == 1) {
proxy_pass varnish2;
}
这基本上是对GET参数a进行偶数/奇数检查,然后决定发送请求的上游池.我的问题是 –
>这种代码的Nginx等价物是什么.我不知道Nginx是否接受modulas
>使用Nginx(0.8.54)内置的是否有更好/更高效的散列函数,我可以使用它.将来我想添加更多的上游池,所以我不需要将%2更改为%3%4,依此类推
>任何其他解决此问题的替代方法
最佳答案