nginx支持的负载均衡算法_nginx算法

2022-11-07 17:19:05 浏览数 (1)

1:Nginx负载均衡算法

(1):轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务,如果后端某台服务器死机,自动剔除故障系统,使用户访问不受影响。

upstream tomcat {

server 192.168.200.113:8080 weight=1;

server 192.168.200.114:8080 weight=1;

}

(2):Weight(轮询权值)

Weight的值越大分配到的访问概率越高,主要用于后端每台服务器性能不均衡的情况下。或者仅仅为在主从的情况下设置不同的权值,达到合理有效的利用主机资源。

upstream tomcat {

server 192.168.200.113:8080 weight=1;

server 192.168.200.114:8080 weight=2;

}

(3):least_conn

lest-connected方式可以更公平的将负载分配到多个机器上面。使用least-connected,nginx不会将请求分发到繁忙的机器上面,而且将新的请求分发的较清闲的机器上面。

upstream tomcat {

least_conn;

server 192.168.200.113:8080 weight=1;

server 192.168.200.114:8080 weight=1;

(4):ip_hash

每个请求按访问IP的哈希结果分配,使来自同一个IP的访客固定访问一台后端服务器,而且可以有效解决动态网页存在的session共享问题。

upstream tomcat {

ip_hash;

server 192.168.200.113:8080 weight=1;

server 192.168.200.114:8080 weight=1;

(5):fair

比weight、ip_hash更加智能的负载均衡算法,fair算法可以根据页面大小和加载时间长短智能地进行负载均衡,也就是根据后端服务器地响应时间来分配请求,响应时间段地优先分配。Nginx本身不支持fair,如果需要这种调度算法,则必须安装upstream_fair模块。

upstream tomcat {

fair;

server 192.168.200.113:8080 weight=1;

server 192.168.200.114:8080 weight=1;

(6):url_hash

按访问地URL地哈希结果来分配请求,使每个URL定向到一台后端服务器,可以进一步提高后端缓存服务器地效率。Nginx本身不支持url_hash,如果需要这种调度算法,则必须安装Nginx的hash软件包。

upstream tomcat {

hash $request_uri;

server 192.168.200.113:8080 weight=1;

server 192.168.200.114:8080 weight=1;

2:nginx 负载均衡集群

三台服务:两台tomcat,一台nginx

在nginx 服务器上

《1》:vim /usr/local/nginx/conf/nginx.conf 编辑主配置文件 《2》:写入: upstream tomcat { server 192.168.100.10:8080 weight=1; server 192.168.100.20:8080 weight=1; }

location ~ .jsp$ { proxy_pass http://tomcat; }

《3》: /usr/local/nginx/sbin/nginx -t 查看语法 nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

《4》:/usr/local/nginx/sbin/nginx 重启

《5》:访问 (默认算法是轮询,及两个来回一起)

修改主配置文件: 加入 ip_hash ;

及访问时,最后固定为test2

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/183382.html原文链接:https://javaforall.cn

0 人点赞