Nginx

Nginx

		server {
			listen 80;
			server_name test.test.com
	
			location / {
				#实现服务器代理
				proxy_pass http://localhost:8080;
			}
		}

负载均衡

nginx实现负载均衡,通过搭建Tomcat服务器集群,可以极大提高网站的并发量;

轮询策略

根据配置文件的顺序,依次分配服务器访问。

	#负载均衡配饰策略 轮询
	upstream test {
		server localhost:8081;
		server localhost:8082;
		server localhost:8083;
	}
	
	server {
		listen 80;
		server_name test.test.com;
			
		location / {
			#与上面
			proxy_pass http://test;
		}
	}

权重策略

说明:

  • 采用轮询策略,因为服务器性能差别,没有根据服务器性能进行分配,长时间会导致形成差的服务器因高负载而宕机,因此采用全从策略,服务性能越好,数字越大,分配越多;
	upstream test {
		server localhost:8081 weight=1;
		server localhost:8082 weight=2;
		server localhost:8083 weight=3;

IP_hash 策略

需求说明:
- 因为服务器搭建成集群,有些操作需要登陆后进行,但Tomcat集群没法实现Session共享,导致重复登录。
解决方法:
- url充血技术,将用户信息拼接到http请求中,效率太低。
- IP_Hash;
IP_Hash说明:
- 根据用户的IP地址进行Hash运算,根据计算结果,绑定到集群中的某一台服务器。
配置策略:

	upstream test {
		ip_hash;
		server localhost:8081 weight=1;
		server localhost:8082 weight=2;
		server localhost:8083 weight=3;
	}

专业术语:
- Session黏着;
IP_Hash重的问题:
- 由于IP地址的原因,经过hash值的运算,同一时间绑定在同一台服务器的IP地址访问过多,可能会导致负载
不均;
- 如果IP地址绑定的服务器宕机,用户访问失败;
- 安全性不好;
改进方式:
-新单点登录(SSO策略)

备用机机制

说明:
- 为了让服务器出现问题后,能够继续提供服务,采用备用机机制,正常情况不启动,当主机遇忙或者主机宕机时生效。

	upstream test {
		server localhost:8081 weight=1;
		server localhost:8082 weight=2;
		server localhost:8083 weight=3 backup;
	}

使用Nginx进行项目上线

  • 项目打成war包
  • 根据服务器数量分批上线;
  • 需要上线的服务器在nginx中作down处理;
  • 将打包好的项目部署到服务器中,启动服务器,经过测试后上线。

Nginx的健康检测

设定超时时间:

使用Nginx实现方向代理后,如果后台服务器没有即是响应,那么请求必须等到超时时间后,访问下一台服务器,超时时间默认为3分钟,可以手动修改。

	proxy_connect_timeout	3;
	proxy_read_timeout		3;
	proxy_send_timeout		3;

设置超时时间的优缺点

优点:当访问后台服务器,如果超过超时时间,会自动访问下一台服务器。
缺点:如果配置了权重或者轮询策略,定期链接故障机,导致用户体验差。

检测实现

当在指定周期内,如果检测发现后台服务器不能正常访问,那么在周期内不会再将请求发送到故障机,直到下一个周期再次检测访问成功后。
配置:
max_fails=1 在指定周期内检测失败的次数;
fail_timeout=60s 代表周期时间,单位秒;

	upstream test {
		server localhost:8081 	max_fails=1	 fail_timeout=60s;
		server localhost:8082   max_fails=1	 fail_timeout=60s;
		server localhost:8083 	max_fails=1	 fail_timeout=60s;
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值