Nginx 之负载均衡

Nginx负载均衡

Nginx 通过反向代理可以实现服务的负载均衡,避免了服务器单节点故障,把请求按照一定的策略转发到不同的服务器上,达到负载的效果。
Nginx 之负载均衡_第1张图片

upstream模块实现负载均衡

Nginx的负载均衡功能依赖于upsteam_module模块,所支持的代理方式包括proxy_pass。
upstream_module模块允许Nginx定义一组或多组服务组,使用者可以通过proxy_pass代理方式把网站的请求发送到事先定义好的upstream组的名字上。
upstream模块可以实现负载均衡,其实隐含了一个重要功能那就是冗余,当一个节点故障的时候,upstream是可以自动切换到正常工作的节点。

upstream5种配置方式

1、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

upstream backserver {
	server 192.168.0.14;
	server 192.168.0.15;
}

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

upstream backserver {
	server 192.168.0.14 weight=10;
	server 192.168.0.15 weight=10;
}

3、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

upstream backserver {
	ip_hash;
	server 192.168.0.14:88;
	server 192.168.0.15:80;
}

upstream模块配置示例

1、配置示例模板

	upstream platform {
		server 127.0.0.1:8081;	
		server 127.0.0.1:8082;		
	}

    server {
        listen 8100;
        server_name localhost;

        location / {
            ##反向代理执行定义的upstream名字
            proxy_pass http:/platform;
        }
    }

你可能感兴趣的:(Nginx,nginx)