集群与负载均衡
在配置中声明一个服务器组
上游配置upstream {}模块把多服务器加到一个组
// 这是个服务器组
upstream imageserver {
// server ip:port 权重 联系失败次数 失败超时时间
server 192.168.1.204:8080 weight=1 max_fails=2 fail_timeout=30s;
server 192.168.1.204:8080 weight=1 max_fails=2 fail_timeout=30s;
}
下游server配置转发
location ~ \.(jpeg|jpg|png|gif)$ {
// 转发到服务器组
proxy_pass http://imgserver;
proxy_set_header X-Forwarded-For $remote_addr;
}
负载均衡常用算法/策略
- 设置计数器,轮流请求N台服务器
- 可以安装第三方模式,来利用不同参数把请求均衡到不同的服务器去
- 如基于cookie值区别用户做负载均衡,为了解决session不一致或丢失问题(nginx sticky模块)
- 基于URI利用一致性哈希算法做负载均衡(NginxHttpUpstreamConsistentHash模块)
- 基于IP做负载均衡(根据地区分配服务器)等
网友评论