Intro Nginx Ip Hash

Intro Nginx Ip Hash

這篇介紹Nginx Ip Hash。

ip_hash

1
2
3
4
5
6
7
8
9
Nginx ip_hash

看以下source code:
for (i = 0; i < 3; i++) {
hash = (hash * 113 + iphp->addr[i]) % 6271; //將IP用.的方式拆分成4段(ex: xxx.xxx.xxx.xxx)
}

將1~3段加入hash函數來保證相同的xxx.xxx.xxx.aaa會分配到同一台Server。
正常來說相同的1~3段會是在同一區域或附近,使用相同的Backend Server是合理的。