关于大型网站技术演进的思考(十二)

  • 时间:
  • 浏览:5
  • 来源:爱乐彩网站_爱乐彩下载_爱乐彩官网

关于大型网站技术演进的思考(十四)网站静态化正确处理--前后端分离—上(6)

  讲完了ESI的妙用后,我下面将讲讲本篇的主题缓存了。真是单独讲缓存真的没啥太少内容,不过在网站静态化正确处理里的缓存还是和存储里讲到的分布式缓存有所不同,分布式缓存的数据也有存储在内存里,而网站静态正确处理的缓存既有存储在内存里还有存储在硬盘上,当然存储在内存里读取传输传输速率会调慢,后会网站的读取传输传输速率还和资源距离用户的远近有关系,之类浏览器的缓存真是是把静态内容缓地处硬盘上,后会肯能不只有通过网络获取资源,后会它的读取传输传输速率就显得很重高了,除了你本身因素外还有个因素,亲戚亲戚大伙 前面做动静拆分的目的后会我想拆分出静态资源,让那些静态资源远离服务端的web应用,后会我可不只有减少服务端固然要的压力,从而达到提升服务端web应用正确处理能力,而把静态资源放置在静态web容器正确处理,它的正确处理静态资源传输传输速率又会高于在服务端web应用的正确处理,从而也达到提升静态资源读取的传输传输速率。不过肯能静态资源最终只有放置在服务端,很难 你本身却说亲戚亲戚大伙 把静态资源存入到缓存里即内存里传输传输速率肯定比在硬盘上高,全都CDN的服务节点一般也有采取将静态资源存储在内存里,后会我有无服务端web应用前的静态web容器,肯能亲戚亲戚大伙 让静态资源缓地处内存里,传输传输速率肯定也是比在硬盘上高。

  结合顶端的场景亲戚亲戚大伙 来讨论下ESI技术了,ESI技术和SSI技术之类,真是也和jsp里的include指令之类,它也是在页面里使用4个多多多指令标签web容器解析你本身标签后将获取的数据替换掉你本身标签。亲戚亲戚大伙 来看看ESI的使用依据,亲戚亲戚大伙 可不只有在velocity里自定义4个多多多esi标签,velocity里的使用如下所示:

关于大型网站技术演进的思考(十八)--网站静态化正确处理—反向代理(10)

关于大型网站技术演进的思考(十三)--网站静态化正确处理—CSI(5)

关于大型网站技术演进的思考(五)--存储的瓶颈(5)

      本文转自027ryan  51CTO博客,原文链接:http://blog.51cto.com/ucode/1743271,如需转载请自行联系原作者

  肯能亲戚亲戚大伙 按照另一方个性化加在了另一方的组件,不同的人加在的常用组件也会是不尽相同的,肯能亲戚亲戚大伙 另一方开发的网站也有后会我的功能,很难 亲戚亲戚大伙 该怎么才能 才能 设计了?亲戚亲戚大伙 一般一定会很直观的把你本身新增的组件信息存储在数据库里,用户每次登录却说会信息也会随之从数据库里读取,后会你本身场景对于像支付宝你本身用户量极大,日均访问量极高的大型网站,你这4个性化又非核心的功能都从数据库里读取,很难 它对数据库造成的压力一定是十分巨大的,在存储的瓶颈里亲戚亲戚大伙 讲了很难 多优化数据库的手段,其核心手段4个多多多后会我减少对数据库价值不高的操作,而你这4个性化配置跟支付宝的支付操作相比起来,价值度真是太低,后会亲戚亲戚大伙 最好的选择是正确处理数据库承担太少此类的操作。

关于大型网站技术演进的思考(十六)--网站静态化正确处理—前后端分离—下(8)

关于大型网站技术演进的思考(十六)--网站静态化正确处理—前后端分离—下(8)

  网站静态化正确处理亲戚亲戚大伙 首很难按规则拆分动静资源,拆分出来的静态资源该怎么才能 才能 正确处理后会我网站静态化正确处理的关键所在,把静态资源正确处理从服务端的web应用里剥离出来,不需要服务端的web应用参入太少的静态资源解析,后会我就可不只有为服务端的web应用减少固然要的正确处理操作,从而达到提升服务端web应用的运行传输传输速率,接着亲戚亲戚大伙 就把拆分出来的静态资源正确处理操作往前推移到静态web服务器,前两篇文章和今天的文章我着重讲解了静态web服务器正确处理静态资源的手段,很难 这里有个问题了,那些正确处理可不只有再往前推到浏览器来完成吗?答案当然是有无定的,首先浏览器的缓存是非常不可靠的,肯能用户把浏览器设置为不缓存任何数据的模式,很难 浏览器就很难 缓存数据了,而用户的行为那是根本很难 控制的,其次浏览器缓存的数据量是有限的,肯能亲戚亲戚大伙 要在浏览器进行缓存也是缓存最有价值缓存的数据,更重要的全都,为了做好网站静态化正确处理亲戚亲戚大伙 对网页的动静资源做了拆分,后会拆分出的静态资源也并也有完整不只有进行任何逻辑正确处理就能使用的,之类前面讲到的ESI适用的场景亲戚亲戚大伙 就发现,全都静态资源的获取还是要全都条件的参入,而那些条件是由动态数据产生的,很难 后会我的静态数据浏览器是很难 做缓存的,这点也说明了拆分出来的静态化资源绝大每段还是要听候在服务端的,你造只有听候在服务端,很难 最为高效的正确处理那些静态资源的地方后会我CDN和静态web容器了。全都在本系列的第一篇里我讲到网站生产部署却说最好是在服务端web应用却说放置4个多多多静态web容器,肯能有了后会我的静态web容器做反向代理,很难 亲戚亲戚大伙 就可不只有让它来完成静态资源的相关操作,后会静态web容器还能辅助完成全都逻辑上的正确处理,从而弥补了CDN的严重不足之处。当然很难 做的好处不仅仅只有那些,第二篇文章里我后会我讨论了反向代理的好处,肯能亲戚亲戚大伙 印象还也有太少刻,我肯能在顶端文章里对反向代理做更加深入的分析。

文章出自:http://www.cnblogs.com/sharpxiajun/p/4289298.html

关于大型网站技术演进的思考(十五)--网站静态化正确处理—前后端分离—中(7)

关于大型网站技术演进的思考(十)网站静态化正确处理—动静整合方案(2)

 当页面到了服务端web容器却说的静态web容器(该web容器要安装好解析esi的模块),静态web容器就会解析你本身esi标签,静态web容器会以test.vm.esi?id=80 作为key,到缓存系统里查找信息,肯能查到了信息,缓存服务器就直接返回,用返回内容替换掉esi标签,肯能缓存里很难 找到则会直接请求持久化系统,持久化系统返回信息后,缓存系统将信息缓存起来,并肩也将信息返回至静态web容器,很难 下次用户再访问同样内容就会直接从缓存里读取了。

关于大型网站技术演进的思考(十九)--网站静态化正确处理—web前端优化—上(11)

大型分布式电商系统架构是怎么才能 才能 从0开始英文演进的?

    

  与SSI相对应的还有ESI,你本身技术也有太常用,在网可不只有分类分类整理到的资料也也有太少,网上有限的资料也基本也有和淘宝相关的,不过仔细研究下淘宝对ESI的运用,对于理解网站静态化正确处理是非常有借鉴意义的,下面我将重点讲讲ESI的知识。首先看个场景啊。

这是支付宝默认给亲戚亲戚大伙 显示的【生活好助手】,右边有个箭头,亲戚亲戚大伙 点开它,如下图所示:

  亲戚亲戚大伙 登录支付宝网站,到了另一方首页亲戚亲戚大伙 发现在支付宝下面4个多多多条目,如下图所示:

  首先亲戚亲戚大伙 直接从文件系统读取图片,传输传输速率是非常低效,后会亲戚亲戚大伙 还是会把它们缓地处内存里,后会肯能不同图片和不同商户是相关联,很难 对于缓存查找却说是只有一定的条件,不同商户对另一方页面的设计方案也会有所不同,一般商户那些资源,存储系统肯定会按照设计模板的维度存储,不同商家肯能商品和文化的不一样,很难 使用的模板后会我一样,后会资源返回静态web容器前还只有4个多多多整合过程,后会我场景下的静态资源获取真是是只有一定逻辑计算的,很难 你本身计算一般一定会在开发却说由代码完成,全都从顶端ESI使用的例子看得人,开发人员会使用velocity的esi标签,你本身标签开发人员可不只有设置参数,velocity引擎最终会将你本身标签解析成静态web容器可不只有解析的esi标签,标签里有后会我的代码test.vm.esi?id=80,文件顶端会带上参数,很难 你本身参数真是是动态的,很难 你本身参数也后会我缓存系统获取正确信息的规则了。后会我亲戚亲戚大伙 就完成了静态资源获取的逻辑计算,计算完毕后那些资源会在一段时间里长期有效,后会它就演变为静态资源,可不只有被缓存了。ESI比SSI强大多了,并肩ESI也可不只有完成SSI的功能,全都使用了ESI也就没必要用SSI了。

velocity引擎解析vm模板,最终会把vm解析成html页面,你本身却说会页面里使用esi标签的地方就被转化为:

进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。

下拉加载更多

Web系统开发构架再思考-前后端的完整分离

关于大型网站技术演进的思考(十一)网站静态化正确处理—动静分离策略(3)

亲戚亲戚大伙 看得人这里有加在的按钮,通过加在按钮,亲戚亲戚大伙 可不只有加在全都常用的组件图标。(注意:我这里后会我以支付宝你本身功能为例,支付宝是有无按照跟我说的设计,你本身让你不清楚了)

   由此可见SSI在互联网的应用还是非常广泛的。真是互联网全都网页肯能亲戚亲戚大伙 按照动静分离策略拆分,绝大每段也有可不只有当做静态资源正确处理,之类新闻网站,文学网站,那些网页生成后,大每段的资源也有不变的,说白了那些网页本质后会我4个多多多静态页面,亲戚亲戚大伙 开发亲戚大伙 以却说会我只有服务端的参入,每4个多多多网站也有另一方固定的板式,假如每个新网页也有完完整整的开发,重复性的工作真是太少了,出错的概率也非常高,在本系列第二篇里我后会我完整介绍了velocity的布局模板技术,真是SSI也可不只有制作出一套固定的模板,开发却说亲戚亲戚大伙 只只有在定义好的模板里加在肯能修改亲戚亲戚大伙 只有更改的内容就可不只有完成4个多多多页面的制作,可见SSI技术为了亲戚亲戚大伙 开发网页提供了很大的便利。

  像亲戚亲戚大伙 平时做web开发却说肯能很难 太留心4个多多多问题,一般的web开发里使用的静态资源之类图片,css文件,js文件亲戚亲戚大伙 一定会放置在4个多多多resource包里,肯能是企业开发,你本身web应用上线却说也就直接打包在web工程里,全都互联网网站也只不过会将那些资源放置在单独的静态服务器上,我平时开发时常听到其他同学说,项目里图片太少了,应该合并下,css文件和js文件后会我多了也要合并下,你本身多到底多有几只了,几好几只 文件,几百个文件,你本身要和社交网站,电商网站你本身用户可不只有产生图片的网站比起来那后会我小巫见大巫了,肯能用户能产生内容的网站静态资源会随着时间推移文件规模变得异乎寻常的大,全都此类网站的静态资源肯能很难 放置在项目下,它就要求亲戚亲戚大伙 只有有新的手段管理那些静态资源,后会有新的手段使用那些静态资源,很难 像TFS文件存储系统再次冒出了,缓存技术再次冒出了,最后亲戚亲戚大伙 在应用里使用ESI技术把它们整合到亲戚亲戚大伙 网页里,通过你本身分析亲戚亲戚大伙 就能明白ESI适用的业务场景了。

怎么才能 才能 设计4个多多多牛掰的大型项目架构?

阿里巴巴技术工程师撰写书单汇总!那些好书值得你一读再读!

关于大型网站技术演进的思考(二)--存储的瓶颈(2)

版权声明:本文内容由互联网用户自发贡献,版权归作者所有,本社区不拥有所有权,后会我承担相关法律责任。肯能您发现本社区富含涉嫌抄袭的内容,欢迎发送邮件至:

  上篇我补充了下SSI的知识,SSI是4个多多多十分常见的技术,记得多年前我看得人全都门户网站页面的后缀是.shtml,很难 这后会我明全都门户网站都后会我使用过SSI技术,真是现在搜狐网站也还在用shtml,如下图所示:

关于大型网站技术演进的思考(一)--存储的瓶颈(1)

关于大型网站技术演进的思考(二十一)--网站静态化正确处理—web前端优化—下【终篇】(13)

  ESI技术和SSI很像,只不过ESI技术是和缓存技术配合起来的,并肩ESI标签后会我像SSI标签那样使用注释的形式,后会ESI标签是一定要被解析的,肯能仅仅是缓存,ESI和SSI比较起来也没显得很难 有优势和很重,后会对于电商你本身场景而言ESI的现实意义非常大,电商网站也是4个多多多由用户产生内容的网站,每4个多多多商家的店铺真是亲戚亲戚大伙 都知道它是属于淘宝或天猫的,后会单独4个多多多商家的店铺也有个性化很强的,与全都店铺差异很大,为了买卖商品,商家会上传另一方商品的图片,一定会使用图片和文字描述另一方的商品,单个商品页面亲戚亲戚大伙 做动静分离分析,很容易分辨出动态内容和静态内容,后会肯能4个多多多电商平台拥有超乎想象数量的商家,很难 每个页面的图片,文字和商家页面的关系就会变得很重微妙了。肯能电商网站的图片很重多,很难 电商网站系统一般一定会设计一套管理那些小图片的分布式存储系统,之类淘宝的TFS文件系统,它是专门针对图片使用的分布式文件系统,那些文件系统里存储的图片会和商家紧密关联,这后会图片本身 拥有了一定的动态属性,后会对于每个商家页面而言,商家另一方的图片资源也有可不只有静态化的,也后会我说图片的读取是要通过商家信息进行计算的,计算出的结果对于商家而言又是静态的,可不只有被缓存的。后会你本身静态资源的正确处理却说就变得多样化了,而那些是SSI无法完成的。

关于大型网站技术演进的思考(十七)--网站静态化正确处理—满足静态化的前后端分离(9)



  不过像顶端你本身场景里的功能,它所使用的数据又也有那种可有可无的,假如数据存储的不可靠造成数据丢失还是会造成固然要的麻烦,全都亲戚亲戚大伙 还是会把那些信息做持久化存储。此外像顶端的【生活好助手】条目还是页面的4个多多多重要组成每段,后会像SSI那种使用html注释指令,当指令无法正常解析,就直接返回到浏览器,肯能是注释,全都页面后会我会显示它,SSI的你本身做法用在顶端场景肯定是不太为宜的。后会我的场景在电商网站里是十分常见的,之类4个多多多商品页面,页面里会有商品的图片,还有商品的完整介绍,那些内容真是也有会用持久化系统进行存储,并肩它们本身 也是网页的重要做成每段,肯能碰到问题就忽略最终会造成页面显示错误。

关于大型网站技术演进的思考(九)--网站静态化正确处理--总述(1)