nginx 负载均衡策略

   日期:2020-10-02     浏览:92    评论:0    
核心提示:Nginx负载均衡有四种方案配置1.轮询轮询即Round Robin,根据Nginx配置文件中的顺序,依次把客户端的Web请求分发到不同的后端服务器上。注意:缺省配置就是轮询策略;nginx负载均衡支持http和https协议,只需要修改proxy_pass后协议即可;nginx支持FastCGI,uwsgi,SCGI,memcached的负载均衡,只需要把proxy_pass改为fastcgi,uwsgi_pass,scgi_pass,memcached_pass即可;nginx配置:

Nginx负载均衡有四种方案配置

1.轮询

轮询即Round Robin,根据Nginx配置文件中的顺序,依次把客户端的Web请求分发到不同的后端服务器上。
注意:

  1. 缺省配置就是轮询策略;
  2. nginx负载均衡支持http和https协议,只需要修改proxy_pass后协议即可;
  3. nginx支持FastCGI,uwsgi,SCGI,memcached的负载均衡,只需要把proxy_pass改为fastcgi,uwsgi_pass,scgi_pass,memcached_pass即可;

nginx配置:

http {
    upstream webs {
		#默认轮询
        server localhost:8081;
        server localhost:8082;
        server localhost:8083;
    }
    server {
    	#监听端口
        listen       80;
        #监听地址,写ip或者域名
        server_name  localhost 
        location / {
        	#请求转向webs定义的服务器列表
            proxy_pass http://webs;
        }
	}
}

2.最少连接 least_conn

web请求会被转发到连接数量最少的服务器上
注意:

  1. 最少连接负载均衡通过least_conn指令定义;
  2. 此策略适合请求处理时间长短不一造成服务器过载的情况;
    nginx配置:
http {
    upstream webs {
		#默认轮询
        #ip_hash; 
		#least_conn  
        server localhost:8081;
        #server localhost:8082;
        #server localhost:8083 weight=3;
    }
    server {
    	#监听端口
        listen       80;
        #监听地址,写ip或者域名
        server_name  localhost 
        location / {
        	#请求转向webs定义的服务器列表
            proxy_pass http://webs;
        }
	}
}

3. IP地址哈希ip_hash

前两种负载均衡方案中,同一客户端连续的web请求可能会被分发到不同的后端服务器进行处理,因此如果涉及到会话Session,那么会话会比较复杂,此时可以使用ip_hash的负载均衡策略,同一客户端连接的Web请求会被分发到同一服务器进行处理。
注意:

  1. ip哈希负载均衡使用ip_hash指令定义;
  2. nginx使用请求客户端的ip地址进行哈希计算,确保使用同一服务器响应请求;

nginx配置:

http {
    upstream webs {
		#默认轮询
        #ip_hash; 
		#least_conn  
        server localhost:8081;
        #server localhost:8082;
        #server localhost:8083 weight=3;
    }
    server {
    	#监听端口
        listen       80;
        #监听地址,写ip或者域名
        server_name  localhost 
        location / {
        	#请求转向webs定义的服务器列表
            proxy_pass http://webs;
        }
	}
}

4.基于权重 weight

基于权重的负载均衡即Weighted Load Balancing,在这种方式下,我们可以配置Nginx把请求更多地分发到高配置的后端服务器上,把相对较少的请求分发到低配服务器。
注意:

  1. 权重负载均衡需要使用weight指令定义;
  2. 权重越高分配到需要处理的请求越多;
  3. 此策略可以和最少连接负载和ip哈希策略结合;
  4. 此策略比较适合服务器硬件配置差别较大的情况;
    nginx配置:
http {
    upstream webs {
        server localhost:8081;
        server localhost:8082;
        server localhost:8083 weight=3;
    }
    server {
    	#监听端口
        listen       80;
        #监听地址,写ip或者域名
        server_name  localhost 
        location / {
        	#请求转向webs定义的服务器列表
            proxy_pass http://webs;
        }
	}
}
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服