必备,互联网动静分离架构实现

  • 时间:2018-10-06 23:00 作者:程序员界的彭于晏 来源:程序员界的彭于晏 阅读:171
  • 扫一扫,手机访问
摘要:一、静态页面静态页面,是指互联网架构中,几乎不变的页面(或者者变化频率很低),例如:首页等html页面js/css等样式文件jpg/apk等资源文件静态页面,有与之匹配的技术架构来加速,例如:CDNnginxsquid/varnish二、动态页面动态页面,是指互联网架构中,不同客户不同场景访问,都不

一、静态页面

静态页面,是指互联网架构中,几乎不变的页面(或者者变化频率很低),例如:

  • 首页等html页面
  • js/css等样式文件
  • jpg/apk等资源文件


必备,互联网动静分离架构实现


静态页面,有与之匹配的技术架构来加速,例如:

  • CDN
  • nginx
  • squid/varnish


二、动态页面

动态页面,是指互联网架构中,不同客户不同场景访问,都不一样的页面,例如:

  • 百度搜索结果页
  • 淘宝商品列表页
  • 速运个人订单中心页

这些页面,不同客户,不同场景访问,大都会动态生成不同的页面。

必备,互联网动静分离架构实现


动态页面,有与之匹配的技术架构,例如:

  • 分层架构
  • 服务化架构
  • 数据库,缓存架构

三、互联网动静分离架构

动静分离是指,静态页面与动态页面分开不同系统访问的架构设计方法。

必备,互联网动静分离架构实现


一般来说:

  • 静态页面访问路径短,访问速度快,几毫秒
  • 动态页面访问路径长,访问速度相对较慢(数据库的访问,网络传输,业务逻辑计算),几十毫秒甚至几百毫秒,对架构扩展性的要求更高
  • 静态页面与动态页面以不同域名区分

四、页面静态化

既然静态页面访问快,动态页面生成慢,有没有可能,将本来需要动态生成的站点提前生成好,使用静态页面加速技术来访问呢?

这就是互联网架构中的“页面静态化”优化技术。

举例,如下图,58同城的帖子介绍页,本来是需要动态生成的:

必备,互联网动静分离架构实现


  • 浏览器发起http请求,访问/detail/12348888x.shtml 介绍页
  • web-server层从RESTful接口中,解析出帖子id是12348888
  • service层通过DAO层拼装SQL语句,访问数据库
  • 最终获取数据,拼装html返回浏览器


而“页面静态化”是指,将帖子ID为12348888的帖子12348888x.shtml提前生成好,由静态页面相关加速技术来加速:

必备,互联网动静分离架构实现


这样的话,将极大提升访问速度,减少访问时间,提高客户体验。

五、页面静态化的适用场景

页面静态化优化后速度会加快,那能不能所有的场景都使用这个优化呢?哪些业务场景适合使用这个架构优化方案呢?

一切脱离业务的架构设计都是耍流氓,页面静态化,适用于:总数据量不大,生成静态页面数量不多的业务。例如:

  • 58速运的城市页只有几百个,即可以用这个优化,只要提前生成几百个城市的“静态化页面”就可
  • 少量二手车业务,只有几万量二手车库存,也可以提前生成这几万量二手车的静态页面
  • 像58同城这样的信息模式业务,有几十亿的帖子量,就太适合于静态化(碎片文件多,反而访问慢)

六、总结

“页面静态化”是一种将本来需要动态生成的站点提前生成静态站点的优化技术。

总数据量不大,生成静态页面数量不多的业务,非常适合于“页面静态化”优化。

  • 全部评论(0)
最新发布的资讯信息
【系统环境|】学习web前端开发是正确的选择(2019-09-15 16:55)
【系统环境|】干货整理!零基础html5网站开发学习步骤方法(保存不后悔)(2019-09-10 16:27)
【系统环境|】「前端入门」前端基本概念(2019-09-07 21:36)
【系统环境|】小白入门学习web前端,这些干货不能少(2019-09-05 20:59)
【系统环境|】不是计算机专业,哪个专业更适合学习web前端(2019-09-03 20:31)
【系统环境|】入行web前端开发可以做什么工作(2019-09-02 20:51)
【系统环境|】什么是Web前端呢?为什么说web前端开发人员的薪资高、前景好呢?(2019-08-31 20:55)
【系统环境|】2019年Web前端开发的8个趋势,你知道几个?(2019-08-29 16:23)
【系统环境|】学习web前端,掌握这些,才有底气跟面试官提薪资(2019-08-28 15:23)
【系统环境|】Web前端为什么那么好(2019-08-27 18:20)
手机二维码手机访问领取大礼包
返回顶部