nginx负载均衡的主要方法

先说说什么是负载均衡:

        负载均衡指的就是将负载分发到多个操作单元上执行,从而提高服务的可用性和响应速度,带给用户更好的体验

下图展示了负载均衡的工作原理:

负载均衡主要有四种方式:

1、轮询方式

        负载均衡地默认处理方式,每个请求按照时间顺序逐一分配到不同的后台服务器进行处理。

        实现方式:

 server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass http://web_server;
        }
}
 upstream web_server{
        server 192.168.92.130;
        server 192.168.92.131;
   }

2、权重方式

        利用weight指定轮询的权重比率,与访问率成正比,用于后端服务器性能不均的情况。

实现方式:

 server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass http://web_server;
        }
}
 upstream web_server{
        server 192.168.92.130 weight=1;
        server 192.168.92.131 weight=3;
   }

3、ip_hash方式

        每个请求按访问ip的hash结构分配,这样可以使每个方可固定的访问一个后端服务器,可以解决Session共享问题。

实现方法:

 server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass http://web_server;
        }
}
 upstream web_server{
        ip_hash;
        server 192.168.92.130;
        server 192.168.92.131;
   }

4、第三方模块

        第三方模块采用fair时,按照每台服务器的响应时间来分配请求,响应时间短的优先分配;第三方模块采用url_hash时,按照访问url的hash值来分配请求。

模块有很多这里就不一 一列举了。。。

猜你喜欢

转载自blog.csdn.net/qq_39429962/article/details/83592908