# 架构优化:动静分离

同一个网站,主要包括 静态内容动态内容。由于两者输出的形式不太一样,可缓存性等性质差异大。所以,采用 动静分离 的方式,将这两种文件分开部署,达到架构优化。

# 静态内容

基本不会变动,不会因为请求参数不同而变换。

比如:静态资源,js脚本,样式文件,图片资源等。

静态内容一般放在 NginxApache 等服务器上,作为源站。并会开启 CDN 分发,缓存优化 等。

# 动态内容

请求参数不同,返回的结果也不同。且变种的数量不可枚举。

动态内容一般会使用大量的源站机器承载请求。

在用户请求和源站之间,存在一层反向代理,一般是通过 Nginx 实现。通过反向代理实现负载均衡。

# 架构流程

客户端发起请求,对于源静态内容一般放在 Nginx 服务器上,并会开启 CDN 分发,缓存优化 等。

对于动态内容,在用户请求和 Node.js 源站之间,存在一层反向代理,一般是通过 Nginx 实现。通过 Nginx 反向代理实现负载均衡。同时 Nginx 层也可以缓存请求,降低 Node.js 服务的负载。在 Node.js 服务层,可以结合 Redis 服务,缓存数据,处理请求。从而降低Node.js 服务负载,稳定性等,提高性能。

# 參考

更新时间: 6/30/2020, 6:44:03 PM