nginx负载均衡算法和集群配置

1Nginx负载均衡算法

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;

    }

nginx负载均衡算法和集群配置

        location ~ \.jsp$ {

            proxy_pass http://tomcat;

        }

nginx负载均衡算法和集群配置

 《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

nginx负载均衡算法和集群配置

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

nginx负载均衡算法和集群配置

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

nginx负载均衡算法和集群配置

nginx负载均衡算法和集群配置

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

nginx负载均衡算法和集群配置

及访问时,最后固定为test2

nginx负载均衡算法和集群配置

上一篇:java中的多态


下一篇:[SpringBoot 指南] 如何开始 Springboot 之旅 实现自己第一个接口