网上,负载均衡的资料太多了,可以自己查找,此处主要是记录一下使用负载均衡的一些资料与配置。
负载均衡算法
Nginx 的 upstream目前支持的分配算法
轮询 —— 1:1 轮流处理请求
每个请求按时间顺序逐一分配到不同的应用服务器,如果应用服务器down掉,自动剔除,剩下的继续轮询
权重
通过配置权重,指定轮询几率,权重和访问比率成正比,用于应用服务器性能不均的情况
源地址哈希法
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个应用服务器,可以解决session共享的问题。
配置Nginx负载均衡与分发策略
down --- 表示单前的server暂时不参与负载
weight --- 默认为1.weight越大,负载的权重就越大
max_fails --- 允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误
fail_timeout --- max_fails 次失败后,暂停的时间。
backup --- 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻
upstream tomcatServer {
server 192.168.72.49:8080 weight=3;
server 192.168.72.49:8081;
server 192.168.72.49:9090 down;
server 192.168.72.49:8080 weight=2;
server 192.168.72.49:6060;
server 192.168.72.49:7070 backup;
}
server {
listen 80;
server_name 8080.max.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://tomcatServer;
index index.html index.htm;
}
}
扩展
以下是另一位大佬的文章链接:
Keepalived + Nginx 高可用Web负载均衡
https://www.jianshu.com/p/da26df4f7d60