Nginx反向代理为什么可以提高网站性能?

2023年 7月 10日 72.8k 0

能够提高网站性能这点来说,当然是由于Nginx反向代理与负载均衡的超强优势啦。

与Apache Tomcat比起来,Nginx可以承受的qps要大得多,这里除了底层原理的差异,与Nginx不负责处理业务逻辑,只负责接受转发请求的特点有分不开的关系。

反向代理

反向代理可以用于实现分布式,即对外虽然是一个完整的服务,但是其实这个服务对内是由部署在多台Tomcat的子服务共同组成的。

举个例子,一个购物网站,分为查询商品,下单,结算三个模块(极简举例),如果这三个子服务都写在同一个Tomcat上,那么所有的请求就都会发给这一台Tomcat。

这样的部署有一个隐患:假设双十一之前,这个网站的压测没有做好,导致双十一当天0点的时候,结算的人太多,qps超过Tomcat可承受的上限,服务崩溃了,那么这时候,不仅是结算的人无法打开网页,连那些想查询商品,把商品放入购物车的用户也会发现打不开网页了。即此时这个网站的服务由于单个子服务的原因,全线崩溃了。

如果使用反向代理功能,就能从两个方面来缓解这个隐患:

1 Nginx会将查询,下单与结算的请求分别发送给三个服务器,那么对于单独的服务器来说,瞬时间的请求量就会少很多,减少了挂掉的风险

2 就算挂掉了,由于Tomcat是分开的,挂掉其中一个,另外两个依然可以运行,不影响用户其他操作。

因此,我们说,反向代理也是一种提升网站性能的方式。

只不过,这里的网站指的其实是用户侧感知到的整体的服务,而不是具体的Tomcat server。

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论