动静分离架构[通俗易懂]

动静分离架构[通俗易懂]1.应用场景了解更多,根据具体场景选用不用的技术进行架构优化. 2.学习/操作 一、静态页面 静态页面,是指互联网架构中,几乎不变的页面(或者变化频率很低),例如: 首页等html页面 js/css等样式文件 jpg/apk等资源文件 静态页面,有与之匹配的技术架构来加速,例如: CDN ngi…

大家好,又见面了,我是你们的朋友全栈君。

1.应用场景

了解更多, 根据具体场景选用不用的技术进行架构优化.

2.学习/操作

 

这里写图片描述
一、静态页面

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

首页等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同城这样的信息模式业务,有几十亿的帖子量,就不太适合于静态化(碎片文件多,反而访问慢)

六、总结

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

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

3.问题

TBD

4.参考

https://blog.csdn.net/xuxiaopang0417/article/details/80003044  //动静分离架构

后续补充

动静分离架构[通俗易懂]

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131467.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 分布式事务TCC框架-hmily(spring cloud feign)

    分布式事务TCC框架-hmily(spring cloud feign)官网案例:文档(springcloud):https://dromara.org/zh/projects/hmily/user-springcloud/官网示例:https://github.com/dromara/hmily/tree/master/hmily-demo/hmily-demo-springcloud本示例:https://codechina.csdn.net/wwwzhouzy/zhouzy-hmily一、说明hmily是一个高性能异步分布式事务TCC框架,具有以下..

    2022年5月21日
    116
  • Java 网络编程

    Java 网络编程

    2021年10月7日
    40
  • vue修饰符简略总结[通俗易懂]

    vue修饰符简略总结[通俗易懂]vue修饰符主要分为:1.表单修饰符;2.事件修饰符;3.按键修饰符,其中包含特殊修饰符:系统修饰键,.exact修饰符;4.鼠标按钮修饰符;5.其他修饰符,包含:.sync,.prop,.camel一、表单修饰符(用法一致为表单元素使用v-model时加修饰符:v-model.修饰符)1).trim:去除仅首尾的空格2).lazy…

    2025年6月20日
    4
  • Linux查看CUDA版本以及cudnn版本号[通俗易懂]

    Linux查看CUDA版本以及cudnn版本号[通俗易懂]文章目录1.查看CUDA版本2.查看cudnn版本1.查看CUDA版本方法1:查看文件cat/usr/local/cuda/version.txt方法2:命令nvcc–version2.查看cudnn版本cat/usr/local/cuda/include/cudnn.h|grepCUDNN_MAJOR-A2输出如下:(图中版本…

    2022年5月6日
    74
  • html如何打印_html打印代码

    html如何打印_html打印代码利用JS技术实现打印HTML表格 通常在浏览网页的时候,网页上总是出现一些和内容无关的内容,在打印的时候,要是把整个网页都打印下来,总会有些不方便。。。所以在有需要打印的网页上稍微设置一下打印页是很有必要的。。。 首先在head里面加入下面一段js代码:———————————————functionprev

    2022年8月11日
    44
  • poj 1088 记忆化搜索||动态规划

    poj 1088 记忆化搜索||动态规划poj1088    记忆化搜索也也是采用递归深搜的对数据进行搜索,但不同于直接深搜的方式,记忆化搜索是在每次搜索时将得到的结果保存下来,避免了重复计算,这就是所谓的记忆化。记忆化应该是属于动态规划。   举个例子,比如我们搜索最长最长连续增子序列,1 234567,当然这个例子比较特殊,但足以说明情况。   对于这种问题,我们可以先搜索以1开始的

    2022年7月26日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号