nginx使用-负载均衡 03

简介:

负载均衡(Load Balance)是分布式系统架构设计中必须考虑的因素之一,它通常是指,将请求/数据【均匀】分摊到多个操作单元上执行,负载均衡的关键在于【均匀】。常见互联网分布式架构如上,分为客户端层、反向代理nginx层、站点层、服务层、数据层。

负载均衡的实现方式:轮询、权重(weight)、ip_hash、fair、url_hash

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

upstream test1 {

    server 127.0.0.1:8081;
    server 127.0.0.1:8082;
    server 127.0.0.1:8083;

    }
server {
        listen       80;
        server_name  www.test1.com;
        location / {
            proxy_pass   http://test1;
            index  index.html index.htm;
        }
    }

2.权重(weight):指定轮询几率,weight和访问比率成正比

upstream test1 {
	server 127.0.0.1:8081 weight=2;
	server 127.0.0.1:8082 weight=3;
	server 127.0.0.1:8083 weight=5;
	}
server {
	listen       80;
	server_name  www.test1.com;
	location / {
		proxy_pass   http://test1;
		index  index.html index.htm;
	}
}

3.ip_hash:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,用于解决session共享。

upstream test1 {
	server 127.0.0.1:8081;
	server 127.0.0.1:8082;
	server 127.0.0.1:8083;
	ip_hash;
	}
server {
	listen       80;
	server_name  www.test1.com;
	location / {
		proxy_pass   http://test1;
		index  index.html index.htm;
	}
}

4.fair:按后端服务器的响应时间来分配请求,响应时间短的优先分配。

upstream test1 {
	server 127.0.0.1:8081;
	server 127.0.0.1:8082;
	server 127.0.0.1:8083;
	fair;
	}
server {
	listen       80;
	server_name  www.test1.com;
	location / {
		proxy_pass   http://test1;
		index  index.html index.htm;
	}
}

猜你喜欢

转载自blog.csdn.net/shy415502155/article/details/80936136