在Nginx中,当数个后端伺服器都可处置使用者允诺时,Nginx会依照其预设的权重股重新分配阻抗,并将使用者的允诺发送到适当的后端伺服器。
Nginx透过权重股值来下定决心伺服器处置允诺的比率,权重股值越高的伺服器将处置更多的允诺。下面是两个单纯的Nginx权重股范例:
http {
upstream webservers {
server 192.168.1.10 weight=3;
server 192.168.1.11 weight=2;
server 192.168.1.12 weight=1;
}
}
在下面的范例中,权重股值能是任一自然数,Nginx会依照取值的权重股值将允诺重新分配给后端伺服器。据此范例,Nginx重新分配允诺的形式如下表右图:
伺服器192.168.1.10处置约60%的允诺(3/6);伺服器192.168.1.11处置约40%的允诺(2/6);伺服器192.168.1.12处置约20%的允诺(1/6);
他们还能透过weight=0的形式来暂喊停某一伺服器的错误率,如下表右图右图:
http {
upstream webservers {
server 192.168.1.10 weight=5;
server 192.168.1.11 weight=3;
server 192.168.1.12 weight=0;
}
}
当某一伺服器权重股为0时,Nginx会自动将使用者允诺重新分配给权重股非0的伺服器,从而避免因某一伺服器宕机或其他原因导致整个系统崩溃。
在实际运用中,使用适当的权重股能有效提高后端伺服器的利用率,使允诺在伺服器之间的重新分配更加合理。