Nginx是一款由俄罗斯程序设计师开发的高性能Web和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
特点是占有内存小、并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现呢较好。
中国大陆使用nginx网站的用户有:百度、京东、淘宝、新浪、网易、腾讯等。
Nginx转为性能优化而开发,性能是服务器最重要的考量,实现上非常注重效率,能经受高负载的考验,根据报告称支持高达50000个并发连接数。在高并发放情况下,Nginx是Apache服务器不错的替代品。
Nginx不仅能做反向代理,实现负载均衡;还能做正向代理来进行上网。
所谓代理服务器就是位于发起请求的客户端与原始服务器之间的一台跳板服务器,正向代理可以隐藏客户端,反向代理可以隐藏原始服务器。
用户知道目标服务器地址,但由于网络限制等原因,无法直接访问。这时需要先连接代理服务器,然后再由代理服务器访问目标服务器。
反向代理对用户则是不可知的,比如我们访问百度网站,百度的代理服务器对外的域名为www.baidu.com,具体内部的服务器节点我们不知道,现实中我们通过访问百度的代理服务器后,代理服务器给我们转发请求到他们的众多服务器节点中的一个,给我们进行搜索后返回。
客户端发送多个请求到服务器,服务器处理请求,有些可能要访问数据库,服务器处理完毕后再将结果返回客户端。
这种架构模式单一,适合并发请求少的情况。当遇到并发量大的时候,应用服务器集群,增加服务器数量,然后将原来的请求分发到多个服务器上,将负载分发到多个服务器上。
负载均衡的调度算法:
Nginx是一个静态资源服务器,为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器解析,减少服务器压力,加快解析速度。将Java后端程序部署在独立的服务器上,nginx代理访问后端服务。
实现动态请求与静态请求分离,实现资源分类