ip_hash
ip_hash 可以保证用户访问可以请求到上游服务中的固定的服务器,前提是用户ip没有发生更改。
使用ip_hash的注意点:
不能把后台服务器直接移除,只能标记down.
If one of the servers needs to be temporarily removed, it should be marked with the down parameter in order to preserve the current hashing of client IP addresses.
upstream tomcats {ip_hash;server 192.168.1.173:8080;server 192.168.1.174:8080 down;server 192.168.1.175:8080;}
参考:
http://nginx.org/en/docs/http/ngx_http_upstream_module.html#ip_hash
url_hash
根据每次请求的url地址,hash后访问到固定的服务器节点
upstream tomcats {# url hashhash $request_uri;# 最少连接数# least_connserver 192.168.1.173:8080;server 192.168.1.174:8080;server 192.168.1.175:8080;}server {listen 80;server_name www.tomcats.com;location / {proxy_pass http://tomcats;}}
least_conn
upstream tomcats {# url hash# hash $request_uri;# 最少连接数least_connserver 192.168.1.173:8080;server 192.168.1.174:8080;server 192.168.1.175:8080;}server {listen 80;server_name www.tomcats.com;location / {proxy_pass http://tomcats;}}
