Nginx适用于哪些场景?

2022-12-02 20:51:24 浏览数 (1)

ONE

Nginx适用于哪些场景

  1. 作为代理服务:如:缓存,负载均衡,反向代理,正向代理。
  2. 作为API服务。
  3. 作为静态资源服务:通过本地文件系统提供服务。

下面我们详细聊聊每个场景。

首先,我们一般会将请求打到Nginx, 再把请求转发到我们的应用服务。比如我们常用的php-fpm/golang程序或者tomcat,再由应用服务访问缓存,数据库等存储以提供基本的数据服务能力。

由于我们开发过程中要求应用程序开发效率较高,但其运行效率是较低的。单个应用程序的qps,tps都是受限的,不足以支撑用户的请求量,那么为了提高整个服务的吞吐能力,就需要将多个应用程序组成一个集群来整体向外提供高可用服务。这样就会延伸出来2个需求,1.负载均衡,2.当有个别应用程序出问题的时候,需要做容灾。那么我们的反向代理就需要具备负载均衡的能力。

其次,Nginx一般处于边缘节点,离用户最近,我们可以将一些热点数据缓存在Nginx中,直接向用户提供访问,从而达到减少用户时延的效果。这也就衍生出了缓存功能。

第三,当应用程序的性能不及缓存,数据库的性能时,有一些接口我们可以由Nginx直接访问数据库,redis,第三方应用服务。如:使用Openresty,lua等。

第四,我们还可以将css, js, 小图片等静态资源直接放到Nginx服务中,没有必要再次请求应用服务。

0 人点赞