时间:2021-05-19
4 种负载均衡算法
upstream 支持4种负载均衡调度算法:
A)轮询(默认):每个请求按时间顺序逐一分配到不同的后端服务器;
B)ip_hash:每个请求按访问IP的hash结果分配,同一个IP客户端固定访问一个后端服务器。可以保证来自同一ip的请求被打到固定的机器上,可以解决session问题。
C)url_hash:按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器。后台服务器为缓存的时候效率。
D)fair:这是比上面两个更加智能的负载均衡算法。此种算法可以依据页面大小和加载时间长短智能地进行负载均衡,也就是根据后端服务器的响应时间来分配请求,响应时间短的优先分配。Nginx本身是不支持 fair的,如果需要使用这种调度算法,必须下载Nginx的 upstream_fair模块。
1、默认轮训
打开 nginx 配置文件
[root@master ~]# vi /etc/nginx/conf.d/default.conf写轮训配置
#设定负载均衡服务器列表upstream roundrobin { #后端服务器访问规则 server 192.168.1.115:8080 weight=1; #server1 server 192.168.1.131:8081 weight=1; #server1 server 192.168.1.94:8090 weight=1; #server3}server { listen 80; server_name 192.168.1.131; location / { proxy_pass http://roundrobin; }}配置完成后
//检查 nginx 配置是否正确nginx -t //重新加载 nginx 配置service nginx reload当访问 http://192.168.131 的时候,会把这个请求负载到 192.168.1.115 的 8080 端口、192.168.1.115 的 8080 端口、192.168.1.115 的 8080 端口。负载的权重由 weight 来决定,默认为 1 ,weight 越大,权重就越大。
2、基于hash
#设定负载均衡服务器列表upstream roundrobin { #后端服务器访问规则 ip_hash; #添加参数支持哈希 server 192.168.1.115:8080 weight=1; #server1 server 192.168.1.131:8080 weight=1; #server1 server 192.168.1.94:8090 weight=1; #server3 }server { listen 80; server_name 192.168.1.131; location / { proxy_pass http://roundrobin; }}设置后端负载均衡服务器的状态
down,表示当前的server暂时不参与负载均衡。
backup,预留的备份机器。当其他所有的非backup机器出现故障或者忙的时候,才会请求backup机器,因 此这台机器的压力最轻。
注意:backup不能和ip_hash同时配置。因为ip_hash只能访问同一台服务器,而backup是在只有所有参与 负载均衡的服务器出现故障时,才会请求备份机。当所有负载均衡的服务器出现故障了,ip_hash的将无法 请求了。
#设定负载均衡服务器列表upstream roundrobin { #后端服务器访问规则 server 192.168.1.115:8080 weight=1; #server1 server 192.168.1.131:8080 down; #server2 不参与负载 server 192.168.1.94:8090 backup; #server3 备份机 }server { listen 80; server_name 192.168.1.131; location / { proxy_pass http://roundrobin; }}参考文档
nginx四种调度算法、进阶
总结
以上所述是小编给大家介绍的Nginx 负载均衡4种模式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
什么是负载均衡?当一个域名指向多台web服务器时,添加一台nginx负载均衡服务器,通过nginx负载均衡即可将来自于客户端的请求均衡的发送给每台web服务器,
Nginx代理与负载均衡详解nginx除了可以做网站的虚拟主机之外,还可以做代理器,并且,nginx在代理器的基础上可以做到负载均衡。一、代理器:所谓代理器,即
nginx大家如果没用过那或多或少都应该听过,vue的部署、反向代理、负载均衡nginx都能帮你做到。今天主要说一下nginx负载均衡我们的项目,如下图所示,请
Nginx的负载均衡功能,其实实际上和nginx的代理是同一个功能,只是把代理一台机器改为多台机器而已。Nginx的负载均衡和lvs相比,nginx属于更高级的
本文实例讲述了CentOS基于nginx反向代理实现负载均衡的方法。分享给大家供大家参考,具体如下:nginx做负载均衡的优点:1、工作在网络的7层之上,可以针