【IT老齐053】动静分离架构抗住超高并发访问

【IT老齐053】动静分离架构抗住超高并发访问

架构三大分离设计

  • 读写分离
  • 动静分离
  • 前后台分离

概念

有效区分页面中的动静数据是优化的关键前提

  • 静态数据是无个性化数据
    • 静态文件: HTML/CSS/JS/图片
    • 低频变动数据: 字典数据/地区数据 /组织架构历史数据
  • 动态数据就是个性化/高频写数据
    • 个性化推荐
    • 高频写: 股市行情 / 5G信号数据 /天气变化

场景

1710840197735

1710840338680

优化

静态化优化

页面静态化技术

  • 将动态页面”另存为”静态页面保存到本地磁盘
  • 利用Nginx直接路由到磁盘文件,不再进入后端
  • 文件碎片化严重,文件同步管理麻烦

页面伪静态化技术(推荐)

  • 利用Redis缓存,缓存生成的页面
  • 没有碎片化问题,可自动过期,数据管理轻松
  • 需要大量内存存储信息

问题

  • 静态化只适合数据集有限(百万量级)的场景
    • 热点商品SKU
  • 页面集过大不适合静态化
    • 商品全量SKU,文件碎片太多
    • 批量同步磁盘IO瓶颈
    • 伪静态化内存开销太大
  • 动态内容是静态化遇到的新挑战

1710847721476

动静整合优化

服务端SSI法

利用Nginx SSI特性实现服务端动静整合,SSI是Server Side Inclde的缩写,是一种基于服务端的网页制作技术,就是服务端包含的意思,该项目中用到了nginx中SSI模块的include命令,这个命令会包含一个页面,然后在nginx服务器中展开。

ssi on
ssi silent errors on;
ssi types text/html;

1710848268755

Ajax异步调用法

  • 生成静态页面,动态数据部分发起Ajax异步查询
posted @ 2024-03-26 15:24  Faetbwac  阅读(12)  评论(0编辑  收藏  举报