Nginx负载均衡

Nginx应用:

1、Nginx是一款非常优秀的HTTP服务器软件

  • 支持高达50000个并发连接数的响应
  • 拥有强大的静态资源处理能力
  • 运行稳定
  • 内存、CPU等系统资源消耗非常低

2、目前很多大型网站都应用Nginx服务器作为后端网站程序的反向代理负载均衡器提升整个站点的负载并发能力

Nginx反向代理原理:

 

 Nginx动静分离原理:

服务器接收来自客户端的请求中,既有静态资源也有动态资源,静态资源由Nginx提供服务,动态资源Nginx转发至后端

Nginx静态处理优势:

  • Nginx处理静态页面的效率远高于Tomcat的处理能力
  • 若Tomcat的请求量为10000次,则Nginx的请求量为60000
  • Tomcat每秒的吞吐量为0.6M,Nginx的每秒吞吐量为3.6M
  • Nginx处理静态资源的能力是Tomcat处理的6倍

Nginx+Tomcat负载均衡、动静分离

1、部署Nginx、负载均衡器

 

 2、部署2台Tomcat应用服务器

 

 

 

 3、Tomcat server 配置

(1)Tomcat1 server 配置  

 

 

 

 

 

 (2)Tomcat2 server配置

 

 

 

 

 

 

 

 

 

 3、Nginx server 配置

 

 4、访问

 

 

 

 

 

 

 

 

Nginx负载均衡模式:

1、rr 负载均衡模式:

每个请求按时间顺序逐一分配到不同的后端服务器,如果超过了最大失败次数后(max_fails,默认1),在失效时间内(fail_timeout,默认10秒),该节点失效权重变为0,超过失效权重为0,超过失效时间后,则恢复正常,或者全部节点都为down后,那么将所有节点都恢复为有效继续探测,一般来说rr可以根据权重来进行均匀分配

注:加权轮询也是一种模式

2、least_conn 最少连接:

优先将客户端请求调度到当前连接最少的服务器

3、ip_hash 负载均衡模式

每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题,但是ip_hash会造成负载不均,有的服务请求接受多,有的少,所以不建议采用,serrion共享问题可用后端服务的session共享代替nginx的ip_hash

4、fair(第三方)负载均衡模式:

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

5、url_hash(第三方)负载均衡模式:

和ip_hash算法类似,是对每一个请求按url的hash结果分配,使每个URL定向到同一个后端服务器,但是也会造成分配不均的问题,这种模式后端服务器为缓存时比较好

 

四层反向代理:是基于IP+PORT(TCP/UDP)转发

七层反向代理:基于http,https,mail代理

Nginx四层代理配置:

 

 

 

 

 

posted @ 2021-08-18 12:39  盛世丑八怪  阅读(473)  评论(0)    收藏  举报