Code前端首页关于Code前端联系我们

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

terry 2年前 (2023-09-28) 阅读数 60 #未命名

能够提升网站性能当然要归功于Nginx反向代理和负载均衡的超级好处。

与 Apache Tomcat 相比,Nginx 可以处理更高的 qps。除了底层原理的不同之外,这与Nginx不负责处理业务逻辑,而只负责接受转发的请求是分不开的。

反向代理

反向代理可以用来实现分发,即虽然对外是一个完整的服务,但这个服务实际上是由Tomcat内部安装的几个子服务组成的。

比如一个购物网站分为三个模块:商品查询、下单、结算(很简单的例子)。如果这三个子服务写在同一个Tomcat中,所有请求都会发送到This is a Tomcat服务。

这种实现方式存在一个隐患:假设这个网站在双十一之前没有做好压力测试。结果双十一0点,入驻的人太多,qps超过了Tomcat能承受的上限。服务如果崩溃了,此时不仅结账的人无法打开网页,就连想要查看商品并将商品放入购物车的用户也发现无法打开网页。所以,目前这个网站的服务就因为一个子服务而崩溃了。

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

1 Nginx 将查询、订阅和结算请求分别发送到三台服务器,因此一台单独服务器上的即时请求数为少很多,降低了掉话的风险

2 虽然因为 Tomcat 是独立的所以挂断了电话,但是如果其中一个挂了,另外两个仍然可以工作,不会影响用户的其他操作。

这就是为什么我们说反向代理也是提高网站性能的一种方法。

不过,这里的网站是指用户感知到的整体服务,而不是具体的Tomcat服务器。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门