nginx 场景实践04 - 负载均衡 upstream

nginx 场景实践04 - 负载均衡 upstream

syntax  : upstream name ...
default :  - 
content : http

负载均衡实例:

	upstream stark {
	        server 101.200.87.138:8001;
	        server 101.200.87.138:8002;
	        server 101.200.87.138:8003;
	}
	server {
	        listen       8080;
	        server_name  www.client.com;
	
	        location / {
	                proxy_pass http://imooc;
	        }
	}

HttpIndex模块

	upstream backend  {
	  server backend1.example.com weight=5;
	  server backend2.example.com:8080;
	  server unix:/tmp/backend3;
	}
	 
	server {
	  location / {
	    proxy_pass  http://backend;
	  }
	}

后端服务器在负载均衡调度中的状态

down 当前server暂时不参与负载均衡
backup 预留的备份服务器
max_fails 允许请求失败的次数
fail_timeout 经过max_fails失败后,服务器暂停的时间
max_conns 限制最大的接收链接数

负载均衡的调度算法

轮询  按时间顺序注意分配到不同的后端服务器
加权轮询 weight值越大分配到的访问机率就更高
ip_hash 每个请求访问IP的Hash结果分配,这样来自同一个ip的固定访问一个后端服务器
url_hash 每个请求访问IP的Hash结果分配,这样来自同一个url的固定访问一个后端服务器
least_conn 最少链接数,哪个机器连接数少就会发
hash_关键值 hash自定义的key

Ip_Hash

	upstream backend {
	  ip_hash;
	  server   backend1.example.com;
	  server   backend2.example.com;
	  server   backend3.example.com  down;
	  server   backend4.example.com;
	}

Url_Hash ( version > 1.7.2 )

	upstream stark {
			  hash $request_uri;
	        server 101.200.87.138:8001;
	        server 101.200.87.138:8002;
	        server 101.200.87.138:8003;
	}
发布了98 篇原创文章 · 获赞 185 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/xuezhiwu001/article/details/97181106