1、说明
- web代理服务器,正向和反向代理;
- 开源、高性能、高可靠;
- 支持热部署;
- 占用内存少,并发能力强,支持高达5W个并发;
2、 使用场景
- 静态资源服务,通过本地文件系统提供;
- 反向代理服务,缓存、负载均衡等;
- API服务,OpenResty;
3、 正向代理和反向代理
3.1、正向代理
如上图,客户端不再直接访问服务器,而是访问代理服务器,并制定目标服务器。代理服务器和目标服务器通信,转发内容。
正向代理隐藏了真实的客户端,比如,翻墙一般都是用正向代理
3.2、反向代理
如上图,反向代理隐藏的是服务器,客户端访问代理服务器,不指定目标服务器,由代理服务器转发请求到内网服务器,并转发内容。现在基本上所有的大型网站都设置了反向代理。
4、 负载均衡
对于业务复杂,访问量飞速增长的系统来说,普通的模式容易造成服务器崩溃,这是由服务器的性能瓶颈造成的,除了堆机器意外,最终要的做法就是负载均衡。
当单个机器无法满足需求时,集群产生了,可以使用多个服务器,将请求分发到多个服务器上,将负责分发到不同的服务器,就是负载均衡。
5、 动静资源分离
动静分离是指将静态页面和动态页面分成不同的服务器来解析,加快解析速度,降低单个服务器压力
一般来说,web服务器部署都需要将静态和动态资源分开,由于nginx的高并发和静态资源缓存的特性,经常将静态资源部署在nginx上。
如果请求是静态资源,直接到静态资源的目录获取资源,如果是动态请求,则利用发现代理,将请求转达发后台处理,实现动静分离。
使用动静分离,很大程度上能提升静态资源的访问速度。