1.nginx负载均衡的几种算法
轮询 :大家权重一样
upstream back_server {server 192.168.1.1:8080;server 192.168.1.2:8080;server 192.168.1.3:8080;server 192.168.1.4:8080;}
权重(weight):weight越大,承担的任务越多
upstream back_server {server 192.168.1.1:8080 weight = 3;server 192.168.1.2:8080 weight = 1;server 192.168.1.3:8080;server 192.168.1.4:8080;}
ip_hash:每个请求按照访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题
upstream bach_server {ip_hash;server 192.168.1.1:8080;server 192.168.1.2:8080;}
url_hash:按照url的hash结果分配请求,每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。
upstream back_server {hash $request_uri;server 192.168.1.1:8080;server 192.168.1.2:8080;}
fair(第三方),按照后端服务器的响应时间分配请求,响应时间短的优先分配
upstream back_server {server 192.168.1.1:8080;server 192.168.1.2:8080;fair;}
2.Location的几种匹配方式
= 精准匹配
- ^~以某个字符串开头
- ~区分大小写的正则匹配
- ~*不区分大小写的正则匹配
- !~区分大小写的不匹配正则
- !~*不区分大小写的不正则匹配
- / 通用匹配,任何请求都会被匹配到
