【Nginx反向代理,负载均衡,动静分离】

一、反向代理的两种模式

1.七层反向代理

1.1 七层反向代理介绍

七层反向代理(Layer 7 Reverse Proxy)是在应用层进行转发的反向代理服务。它能够根据应用层协议(如HTTP、HTTPS等)对网络请求进行解析和处理,将请求转发给后端服务器,并将响应返回给客户端。

1.2 七层反向代理原理

  1. 客户端发起请求:客户端向反向代理服务器发送请求,一般是使用统一资源定位符(URL)来标识请求的资源。

  2. 反向代理接收请求:反向代理服务器接收到客户端的请求,并解析出请求的目标资源。

  3. 负载均衡:如果有多台后端服务器提供相同服务,反向代理可以通过负载均衡算法将请求分发给后端服务器。负载均衡算法可以根据服务器的性能状况、负载情况等进行选择。

  4. 请求转发:反向代理将请求转发给后端服务器,通过建立新的网络连接将客户端的请求传递给目标服务器。

  5. 目标服务器处理请求:后端服务器接收到请求后,根据请求的内容进行处理,并生成相应的响应。

  6. 响应返回:后端服务器将处理结果封装成响应并返回给反向代理。

  7. 响应传递给客户端:反向代理服务器接收到后端服务器的响应后,将其传递给客户端作为最终的响应结果。

总结:七层反向代理能够在应用层面上进行更加精细的控制和处理。它可以根据请求的内容进行智能路由、请求重写、协议转换、缓存、SSL加密等操作。通过这些功能,七层反向代理可以提供更高级的负载均衡、安全性、性能优化和可扩展性等特性,从而提升应用的可用性和用户体验。七层反向代理软件包括Nginx、Apache HTTP Server等。

2.四层反向代理

2.1 四层反向代理介绍

四层反向代理(Layer 4 Reverse Proxy)是在传输层进行转发的反向代理服务。它使用传输层协议(如TCP、UDP)对网络请求进行解析和处理,将请求转发给后端服务器,并将响应返回给客户端。

2.2 四层反向代理原理

  1. 客户端发起连接请求:客户端向反向代理服务器发送连接请求,包括目标服务器的IP地址和端口号。

  2. 反向代理接收连接请求:反向代理服务器接收到客户端的连接请求。

  3. 负载均衡:如果有多台后端服务器提供相同服务,反向代理可以通过负载均衡算法将连接请求分发给后端服务器。负载均衡算法可以根据服务器的性能状况、负载情况等进行选择。

  4. 请求转发:反向代理将客户端的连接请求转发给后端服务器,并建立起与后端服务器的连接。

  5. 目标服务器处理请求:后端服务器接收到连接请求后,根据连接的传输层协议进行处理,并等待后续的数据传输。

  6. 数据传输:客户端和后端服务器之间开始进行数据的传输,包括请求数据和响应数据。

  7. 响应返回:后端服务器生成响应数据并返回给反向代理。

  8. 响应传递给客户端:反向代理服务器接收到后端服务器的响应数据,将其传递给客户端进行最终的响应。

总结:四层反向代理主要通过传输层协议进行转发,无法对应用层协议的内容进行深度解析和处理。它可以实现基于连接的负载均衡、快速转发和网络地址转换(NAT)等功能。但相比七层反向代理,四层反向代理缺少对应用层的细粒度控制和处理能力。常见的四层反向代理软件包括HAProxy、NGINX等。

二、正向代理和反向代理及区别

1.正向代理

客户端向代理服务器(nginx)发送一个请求,指定目标后端服务器,通过代理服务器转发,后端服务器处理好返回给代理服务器(nginx)。

2.反向代理

客户端向代理服务器(nginx)发送一个请求,然后代理服务器转发给后端服务器,处理好返回给代理服务器(nginx)。此过程中隐藏后端服务器真实IP地址。

3.区别

简单理解就是,访问过程中客户端知道后端服务器和不知道的区别
正向代理就时客户端发出请求,知道目标后端服务器
反向代理就是客户端发出请求,不知道后端服务器

三、Tomcat重要目录

1.bin
bin:存放启动和关闭Tomcat脚本

2.conf
conf:存放Tomcat不同的配置文件

3.doc
doc:存放Tomcat文档

4.lib
lib:存放Tomcat运行需要的库文件

5.logs
logs:存放Tomcat执行时的LOG文件

6.src
src:存放Tomcat的源代码

7.webapps
webapps: Tomcat的主要Web发布目录

8.work
work:存放jsp编译后产生的class文件

四、Nginx应用及负载均衡实现原理

1.Nginx应用

Nginx是一款非常优秀的HTTP服务器软件
支持高达50000个并发连接数的响应

拥有强大的静态资源处理能力
运行稳定
内存、CPU等系统资源消耗非常低

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

2.Nginx负载均衡实现原理

通过反向代理nginx处理静态页面,将请求分发到多个服务器上,使得每个服务器都可以处理适量请求。
反向代理是在location配置

upstream是在server里配置

2.1 Nginx配置反向代理的主要参数

(1)upstream 服务池名{}

配置后端服务器池,以提供响应数据

(2)proxy_pass http://服务池名

配置将访问请求转发给后端服务器池的服务器处理

五、Nginx动静分离实现原理

1.动静分离原理

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

2.Nginx静态处理优势

Nginx处理静态页面的效率远高于Tomcat的处理能力

若Tomcat的请求量为1000次,则Nginx的请求量为6000次

Tomcat每秒的吞吐量为0.6M,Nginx的每秒吞吐量为3.6MNginx处理静态资源的能力是Tomcat处理的6倍

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值