亚马逊CloudFront支持动态内容

发表于2012 年 05 月 28 日 | 标签: , ,

5.13日消息,亚马逊使用CloudFront来分发动态内容的功能已上线。这个新功能为你提供一个高性价比的方式来改善你的动态网站性能、提高可靠性和全球范围访问的速度。亚马逊CloudFront能和运行在EC2上基于动态web应用程序整合,也可以和运行在AWS之外的web应用整合。

CloudFront经过配置后,可以根据你的网站不同的动态内容,来向不同用户分发不同的设定内容。

  • 首先,你可以为CloudFront的分发服务器配置多个源服务器。这让你拥有灵活性,你可以把网站的内容组件放在不同的源服务器。
  • 第二,也可以对使用web参数这种带“?”号的方式进行个别设定,例如为每种不同身份的浏览者定制个性化页面.
  • 第三,你也可以基于网站URL的匹配模式来为分发配置多种缓存机制。这些缓存对策提供了细粒度的控制,让你可以告诉CloudFront如何为你的网站缓存不同部分。

另外,CloudFront还实现了一些性能的优化,例如加速数据从源服务器上的动态网站传输到客户机器上的过程。这些性能的改进包括维持了源服务和其他网络路径优化器的持久连接来加速动态内容的传递。


Ok,在CloudFront上的具体改进如下:

持久的TCP连接 – 建立TCP连接是一个花时间的过程,因为每个新连接都需要三次握手的过程。亚马逊CloudFront使用持久连接来为每一个配置了动态内容的源服务器提供持久的服务。这便消除了建立连接的时间,否则将会减慢了每个请求的速度。重用这些“长连接”能消除数百毫秒的连接建立时间。而且,从客户端到最近的CloudFront环头的连接也尽可能的保持着。

支持多个源服务器 – 在单个CloudFront分发服务器上,你现在可以引用多个源服务器的内容。这意味着你的云(例如,S3中的图片,EC2中的动态页面,和其他第三方站点中的内容)可以整合为单个域名并予以对外使用。使用一个单独的域名来为你整个网站服务,将让你简化实施过程、让你在程序中可以使用更多相对路径(而非绝对路径)、甚至能让你绕过一些跨站点脚本的限制。

支持查询字符串的使用(query string) – CloudFront现在把查询语句作为它的缓存关键字使用。这个可选的功能让你在分发服务器上可为不同的用户、城市(例如天气、交通等)缓存不同内容。你可以为整个站点启用查询语句的支持,或者仅对指定的部分启用。

可变的Tim-To-Live(TTL) – 很多场合下,动态内容要么不可缓存,要么可缓存但只能缓存一个很短的时间,也许就几秒钟。在过去,由于CloudFront的所有内容都是静态的,所以它允许的最短TTL时间是60分钟,最新的最短TTL时间是0秒!如果你为某个源服务器设置的TTL为0,CloudFront也仍然会为这个源服务器缓存内容。它会使用一个带有If-Modified-Since的header的GET请求来查询源服务器,从而让源服务器在响应中告之CloudFront是否继续使用这些缓存的内容,如果内容没有发生变化,则可以继续使用,否则更新。

增大的TCP窗口 – 2月份的时候,CloudFront的TCP window设置为10。这个改进允许在TCP的一次传输中,更多的数据是“in flight”的,等待的时间和TCP window为2时相比,大大缩短。

API和管理控制台的支持 – 上面列出的功能均可以在CloudFront API页面中看到,也可以在CloudFront管理控制台的Tag中看到。你现在就可以使用URL匹配模式来练习一下如何为网站的不同部分配置缓存和传输规则。

 

发表评论

*

  

icon_wink.gificon_neutral.gificon_mad.gificon_twisted.gificon_smile.gificon_eek.gificon_sad.gificon_rolleyes.gificon_razz.gificon_redface.gificon_surprised.gificon_mrgreen.gificon_lol.gificon_idea.gificon_biggrin.gificon_evil.gificon_cry.gificon_cool.gificon_arrow.gificon_confused.gificon_question.gificon_exclaim.gif