`
djz978dn
  • 浏览: 15830 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

Windows Azure Content Delivery Network的最佳实践

 
阅读更多

Windows Azure Content Delivery Network的最佳实践
2011年03月22日
  公告 :本博客为微软云计算中文博客 的镜像博客。 部分文章因为博客兼容性问题 ,会影响阅读体验 。如遇此情况,请访问 原博客。
  公告    :本博客为微软云计算中文博客  的镜像博客。   部分文章因为博客兼容性问题  ,会影响阅读体验  。如遇此情况,请访问  原博客。 摘自: http://msdn.microsoft.com/en-us/library/gg680299.a spx 我该如何使用web.config在托管类型的 CDN发送中来管理缓存的行为? 
  Windows Azure Content Delivery Network(CDN)利用由托管服务提供cache control头(译者注:参考http://www.w3.org/Protocols/rfc2616/rfc2616-sec14. html 14.9 Cache Control)。如果内容是通过一个Web角色提供的,它将受到IIS的控制。静态内容的cache control头可以通过改变web配置中的元素中的元素进行定制。
  例如:
  下面的配置示例添加了一个"Expires: Tue, 19 Jan 2038 03:14:07 GMT"的HTTP头作为响应,配置要求从现在到期满之日为止。
  
  
  
  
  
  
  
  在ASP.NET页面中,cache control被默认设置为私有。这样的话,Windows Azure CDN将无法存储这个内容。重写此方法,使用Response对象改变cache control默认设置。
  例如:
  Response.Cache.SetCacheability(HttpCacheability.Pu blic);
  Response.Cache.SetExpires(DateTime.Now.AddYears(1) );
  包含在你开始的根位置的设置将被继承到所有的子文件夹。请注意,你也可以在起始点的任何一个子目录下放置web.config文件,用来控制个人配置设置符合给定的子目录树。
  你应该仅仅使用一个web.config文件添加非IIS默认的MIME类型。如果你使用一个web.config并重新定义一个标准的MIME类型的IIS可以返回500(请参见: http://blogs.msdn.com/b/chaun/archive/2009/12/04/i is7-error-cannot-add-duplicate-collection-entry-of- type-mimemap-with-unique-key-attribute-fileextensio n.aspx)。如果试图提供一个新的文件类型,作为一个最佳的方法,你通常只需要设置一个MIME类型并接收404。例如,通常在发布链接之前测试(如果需要的话)需要提供的新的文件类型并添加一个MIME类型。
  用来管理我的Windows Azure项目中的不同的CDN环境的最佳办法有哪些? 
  例如,如果你想在相同的项目中拥有一个为测试环境vs.产品配置好的单独的CDN终端,我们建议在一个配置设置(ServiceConfiguration.cscfg)中放入不同的域,因为它们的值可以在运行中改变。但是web.config也是一个可接受的选择。
  确保我的内容新鲜的最佳方法是什么? 
  设置好的到期cache头是确保新鲜度,控制成本,并向客户提供最佳性能的最简便的方法。
  请参见http://msdn.microsoft.com/en-us/library/gg680305.a spx
  我可以在Windows Azure CDN中使用不同的文件夹名吗? 
  当然可以。Windows Azure CDN仅仅反映URL结构到你的源内容,你可以根据你的需要,尽可能深的嵌套它。
  在SDK 1.4版本中,对于托管服务对象的传递,你被局限于在你服务上的/cdn根目录下发布。
  在缓存中如何使用查询字符串变量? 
  对于托管服务对象的传递,当你启用CDN的托管服务时,你可以在Windows Azure Developer Portal中切换这个行为。"启用"是指整个查询字符串将被用来作为对象的cache key的一部分;也就是说,具有相同的URL根路径但拥有不同查询字符串的对象将被贮存为单独的对象。"禁用"是指不同的查询字符串值被忽略,只有URL根路径作为cache key使用,所以不同的查询字符串被视作相同的对象,并且只贮存一次。
  在BLOB存储起点,查询字符串总是被忽略。
  有什么例子可以说明我如何使用HTTPS传递? 
  Windows Azure CDN上的HTTPS传递用来传递必须包含在一个安全的会话框内的公开有效的对象。例如,一个shopping cart可能会使用很多"chrome"对象包含graphics, buttons, static scripts和其他可重用的元素;在一个安全的shopping-cart页面流中,这些对象必须通过HTTPS来发送,以避免浏览器的警告。
  Windows Azure CDN如何进行同步? 
  不会进行同步。在Windows Azure CDN中文件加载为"pull"。根据来自客户端的请求,文件被上传到一个单一的位置(例如 origin)并且进入到缓存节点中。
  我的服务被部署在Windows Azure CDN的哪个节点? 
  当你部署到Windows Azure CDN,你会自动的被部署到我们所有的位置,并且你会添加到其他每个在线上的位置。你不需要做任何事情去开始利用一个新CDN节点。Windows Azure CDN利用Anycast将最终用户引导到最近的节点。
  在Windows Azure CDN中符合字节范围要求的最佳做法是什么? 
  不要在一个大文件的结尾放置你的signatures/table-of-contents/catalog,然后使用一字节的GET去检索它。这会导致欠佳的性能。一个签名文件应该被放在一个文件的开始,或者更为理想的是作为一个单独的文件。
  Windows Azure CDN如何使用压缩内容来工作? 
  Windows Azure CDN不会修改(增加)压缩内容到你的对象。Windows Azure CDN涉及到的任何压缩都是由基于"Accept-Encoding"头的起点提供。从1.4版本起,Azure Storage不再支持压缩。如果你想使用托管服务对象传递,你可以配置IIS来返回压缩对象。
  我如何在Windows Azure CDN中清理或禁用内容? 
  从1.4版本起,没有清理功能。这个功能正在开发中。最新的操作是按照本文档和MSDN上的Windows Azure CDN文档中描述的设置好到期的cache头。
  示例问题报告:"The CDN isn't getting fresh objects," 或者, "The CDN seems to be caching objects for 72 hours" 
  你没有发送Cache-Control头,或这传入了一个无效的值到我们的CDN,因此忽略了它,并且将贮存72个小时。
  Cache-control头必须是"public"并且拥有一个大于300的值,否则CDN将会忽略它。如果你故意发送一个小于300的Cache-Control值,那么它的内容按理说不应该从一开始就放置到CDN。
  请按照后面的链接所描述的,将你的过期时间调整为最佳值:http://msdn.microsoft.com/en-us/library/ff919705.a spx
  CDN多久从起始处刷新一次对象? 
  这取决于对象cache-control头(或许缺少头),对象的通用性,双亲缓存能力和边缘应用。它将至少每节点每更新窗口访问内容源一次,并且跟踪If-Modified-Since刷新请求。
  如果没有设置Cache-Control头,请参考上面"72 hours"的问题。
  本文翻译自:http://blogs.msdn.com/b/windowsazure/archive/2011/ 03/18/best-practices-for-the-windows-azure-content- delivery-network.aspx
分享到:
评论

相关推荐

    Windows Azure Compute(讲稿)

    4. **Content Delivery Network (CDN)** - 通过在全球范围内维护数据缓存副本,加速对Windows Azure存储中的数据访问。 5. **Connect** - 允许企业内部计算机与Windows Azure应用程序之间建立IP层的连接,实现混合云...

    Introducing Windows Azure

    - **内容分发网络(Content Delivery Network, CDN)**:通过在全球范围内部署的节点加速静态资源的分发,减少延迟,提高用户体验。 - **连接服务**:支持不同地理位置之间或云与本地数据中心之间的连接。 #### ...

    云计算第三版精品课程配套PPT课件含习题(30页)第4章 微软云计算第三版Windows Azure(二).pptx

    此外,Azure的CDN(Content Delivery Network)服务确保内容快速、高效地分发到全球用户,提高用户体验。 4. **Windows Azure CDN**:内容分发网络服务能够在用户附近存储和提供Blob内容,降低延迟,提高数据访问速度...

    Silverlight.5.and.Azure.pdf

    - 通过Azure Content Delivery Network (CDN)加速静态内容的分发。 - **案例分析**:书中可能包含具体的案例研究,展示如何将这些技术应用于实际项目中,解决特定的技术挑战。 ##### 4. **开发指南** - **步骤...

    微软云计算解决方案,产品

    Windows Azure Content Delivery Network (CDN) 是微软云平台的一个关键组件,旨在优化内容传输速度,提升用户体验,尤其对于地理位置分散的用户群体。 1. 业务挑战与需求 微软的Bing地图服务在全球范围内广受欢迎...

    PyPI 官网下载 | wagtail-azure-cdn-0.3.tar.gz

    Azure CDN(Content Delivery Network)是微软Azure云服务的一部分,它提供了一种全球分布式的网络,用于快速分发静态内容,如图片、视频和JavaScript/CSS文件等。通过将内容缓存到世界各地的边缘节点,CDN可以显著...

    Wrox.Professional.SharePoint.2010.Cloud-Based.Solutions.2012

    8. **性能优化**:针对云环境的特点,探讨了如何优化SharePoint性能,如缓存策略、数据库调优、网络优化以及使用云服务如Azure Content Delivery Network(CDN)来加速内容分发。 9. **社交与协作**:SharePoint ...

    ASP.net动态页转静态页

    如果你的网站部署在Azure上,可以结合Azure Content Delivery Network (CDN) 使用。CDN可以缓存动态页内容,为用户提供更快的访问速度,类似于静态页效果。但是,这同样不改变页面本身的动态特性。 7. **页面生成...

    WordPress:WordPress的

    - **Azure CDN**: 配置Azure Content Delivery Network(CDN)加速静态资源的加载,提高用户体验。 - **缓存服务**: 使用Azure Redis Cache或Application Insights的缓存功能提升WordPress性能。 **7. 安全与备份**...

    天蓝色游戏:云游戏变得轻松

    4. **Azure Content Delivery Network (CDN)**:加速游戏内容的分发,减少延迟,提高玩家体验,尤其对于需要快速加载大量资源的游戏至关重要。 5. **Azure Traffic Manager**:通过智能路由策略,确保游戏流量在...

    ASP.NET视频点播系统的设计与实现(源代码+论文)_new.rar

    8. **性能优化**:缓存策略、CDN(Content Delivery Network)的利用,以及视频预加载等手段,都是提高系统性能的关键。 9. **论文部分**:论文可能涵盖了系统设计的理论基础、架构选择、关键技术实现、性能评估等...

    天蓝色CDN演示

    【天蓝色CDN演示】是针对云服务提供商Azure的Content Delivery Network(CDN)功能的一个实践展示。在本文中,我们将深入探讨CDN的基本概念、Azure CDN的优势以及如何通过实际操作来设置和使用Azure CDN。 首先,让...

    服务器图片服务器图片服务器图片

    4. **图片服务器**:专门用于存储、管理和分发图像文件的服务器,可能会使用CDN(Content Delivery Network)加速全球访问。 5. **服务器硬件**:包括处理器、内存、硬盘、网络接口卡等,高性能服务器通常配备专用的...

    大型网站技术架构:核心原理与案例分析-李智慧.pdf

    6. **CDN(Content Delivery Network)**:CDN通过将静态资源分发到全球各地的边缘节点,提高用户访问速度,降低源站压力。书中可能涉及CDN的工作原理、选择CDN服务的考虑因素以及CDN的配置和管理。 7. **监控与日志*...

    ASP.NET相册空间

    还可以利用CDN(Content Delivery Network)加速静态资源的加载。 10. **移动适配**:随着移动设备的普及,相册空间应具备良好的响应式设计,适应不同屏幕尺寸的设备。 在【压缩包子文件的文件名称列表】中,...

    现代企业Web架构

    3. 高性能:利用CDN(Content Delivery Network)加速静态资源的分发,结合缓存策略,如Redis或Memcached,提高数据读取速度。同时,数据库优化(如索引、分区、读写分离)和异步处理机制也是提升性能的重要手段。 4....

    大型网站架构

    5. **CDN(Content Delivery Network)**:通过将静态资源分发到全球各地的边缘节点,CDN可以显著降低用户访问延迟,提高用户体验。 6. **异步处理**:使用消息队列(如RabbitMQ或Kafka)进行异步通信,可以解耦服务...

    az204lab

    此外,可能还会讲解如何使用Azure Storage来存储静态资源,以及配置CDN(Content Delivery Network)加速内容分发。 在"az204lab-master"的文件中,可能包含HTML代码示例、练习项目、解剖已有的网页、甚至是涉及...

    .net 多图片上传,视图,自定义组件

    同时,利用CDN(Content Delivery Network)加速图片的访问速度。 总结起来,`.net 多图片上传,视图,自定义组件`这个主题涵盖了.NET的用户控件开发、C#后端处理、JavaScript前端交互以及图片的存储策略等多个方面,...

Global site tag (gtag.js) - Google Analytics