一分钟了解互联网动静分离架构

一、静态页面

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

首页等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 条评论
登录 后参与评论

相关文章

来自专栏腾讯云技术沙龙

黄文俊:Serverless小程序后端技术分享

今天讲的是怎么使用Serverless做后端技术分享。我的职业偏向是后端,可能不是写前端,不是使用Node.js,更多是使用CR做后端语言,今天关注的微信小程序...

1.1K12
来自专栏PHP技术

大话-高并发

简单理解下高并发: 高并发是指在同一个时间点,有很多用户同时的访问URL地址,比如:淘宝的双11,双12,就会产生高并发,如贴吧的爆吧,就是恶意的高并发请求, ...

2764
来自专栏程序猿DD

秒杀系统解决方案

感谢于霆霖的投稿,本文摘自:http://yutinglin.cn/2017/08/01/秒杀系统解决方案/ 我看了二十篇左右的秒杀系统设计及解决方案的文章,从...

2197
来自专栏后端技术探索

另一篇mysql防止库存超卖

今天王总又给我们上了一课,其实MySQL处理高并发,防止库存超卖的问题,在去年的时候,王总已经提过;但是很可惜,即使当时大家都听懂了,但是在现实开发中,还是没这...

531
来自专栏企鹅号快讯

一分钟了解互联网动静分离架构

一、静态页面 静态页面,是指互联网架构中,几乎不变的页面(或者变化频率很低),例如: 首页等html页面 js/css等样式文件 jpg/apk等资源文件 静态...

2247
来自专栏Golang语言社区

网页游戏系统架构图

如上图所示,一台物理服务器放三个游戏服务和一个数据库,并且有专门的memcached服务器 1、当memcached服务器重启时,需要从基础数据库中读取基础数据...

2996
来自专栏纯洁的微笑

一分钟了解互联网动静分离架构

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

931
来自专栏IT技术精选文摘

京东京麦商家开放平台的消息推送架构演进之路

701
来自专栏云计算认知升级

【腾讯云的1001种玩法】十分钟轻松搞定云架构:CDN的命中率是什么

十分钟轻松搞定云架构,这节课中我们来深入了解什么是CDN 的命中率,CDN为什么能帮你省下钱?又如何省下更多的钱?

5520
来自专栏Java进阶干货

用Redis轻松实现秒杀系统

用上这三招,不论秒杀时负载多大,都能轻松应对。更好的是,Redis能够满足上述三点。因此,用Redis就能轻松实现秒杀系统。

111

扫码关注云+社区