1: 原理
负载均衡的目的是为了解决单个节点压力过大,造成Web服务响应过慢,严重的情况下导致服务瘫痪,无法正常提供服务
2:内置负载策略
Nginx负载均衡是通过upstream模块来实现的,内置实现了三种负载策略,配置还是比较简单的。
- 轮循(默认)
Nginx根据请求次数,将每个请求均匀分配到每台服务器
- 最少连接
将请求分配给连接数最少的服务器。Nginx会统计哪些服务器的连接数最少。
- IP Hash
绑定处理请求的服务器。第一次请求时,根据该客户端的IP算出一个HASH值,将请求分配到集群中的某一台服务器上。后面该客户端的所有请求,都将通过HASH算法,找到之前处理这台客户端请求的服务器,然后将请求交给它来处理
http {
#例1 ... 省略其它配置
upstream tomcats {
server 192.168.0.100:8080;
server 192.168.0.101:8080;
server example.com:8080;
}
#例2 加权重
upstream tomcats {
server 192.168.0.100:8080 weight=2; # 2/6次
server 192.168.0.101:8080 weight=3; # 3/6次
server 192.168.0.102:8080 weight=1; # 1/6次
}
server {
listen 80;
location / {
proxy_pass http://tomcats;
}
}
}