【nginx】十一、nginx负载均衡
当使用户量很大时,一台服务器单位时间内访问量很大的时候,服务器压力就会很大,当达到这台服务器的极限,就会崩溃;怎样处理?能通过nginx的反向代理商设置,增加几台同样功可以的服务器 分担压力。
nginx实现负载均衡原理,使用户访问首先访问到nginx服务器,而后nginx服务器再从应使用服务器集群中选择压力比较小的服务器,而后将该访问请求引向该服务器。如应使用服务器集群中某一台服务器崩溃,那么从待选择服务器列表中将该服务器删除,也就是说一个服务器崩溃了,那么nginx服务器不会把请求引向到该服务器。
nginx通过指令upstream实现负载均衡,如:
upstream mypro { #mypro代表此负载均衡的规则名称
server 192.168.5.140:8080; #服务器1的ip地址以及端口
server 192.168.5.141:8080; #服务器2的ip地址以及端口
}
server {
listen 80;
server_name 192.168.5.138;
location / {
proxy_pass http://mypro;
}
}
上面的配置代表,使用户访问服务器192.168.5.138,端口80时,nginx会把请求传发给mypro的负载均衡规则去解决;nginx会随机取一个mypro下的服务器来解决使用户请求。
nginx在选取upstream服务器列表的规则,默认是随机;当然nginx还支持其余的选取规则
根据权重选取
upstream mypro { #weight权重越大,选取占比越高
server 192.168.5.140:8080 weight=5;
server 192.168.5.141:8080 weight=10;
}
根据ip_hash选取
upstream mypro {
ip_hash; #加入ip_hash指令
server 192.168.5.140:8080;
server 192.168.5.141:8080;
}
ip_hash选取规则,是根据请求用户端的ip的hash值配对选择一个服务器,下次此用户端再次访问时,会配对相同的服务器解决请求;这样的好处在于有些带有状态的业务,即可以一直在同一个服务器上进行解决。
ip_hash这种方式在很多场景会使用到,如:session会话,状态转发服务等业务。
随机选取(默认)
upstream mypro {
server 192.168.5.140:8080;
server 192.168.5.141:8080;
}
nginx的负载均衡就先详情到这里,大家有什么问题能回复老顾
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 【nginx】十一、nginx负载均衡