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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
校园悬赏任务平台对字典管理、论坛管理、任务资讯任务资讯公告管理、接取用户管理、任务管理、任务咨询管理、任务收藏管理、任务评价管理、任务订单管理、发布用户管理、管理员管理等进行集中化处理。经过前面自己查阅的网络知识,加上自己在学校课堂上学习的知识,决定开发系统选择小程序模式这种高效率的模式完成系统功能开发。这种模式让操作员基于浏览器的方式进行网站访问,采用的主流的Java语言这种面向对象的语言进行校园悬赏任务平台程序的开发,在数据库的选择上面,选择功能强大的Mysql数据库进行数据的存放操作。校园悬赏任务平台的开发让用户查看任务信息变得容易,让管理员高效管理任务信息。 校园悬赏任务平台具有管理员角色,用户角色,这几个操作权限。 校园悬赏任务平台针对管理员设置的功能有:添加并管理各种类型信息,管理用户账户信息,管理任务信息,管理任务资讯公告信息等内容。 校园悬赏任务平台针对用户设置的功能有:查看并修改个人信息,查看任务信息,查看任务资讯公告信息等内容。 系统登录功能是程序必不可少的功能,在登录页面必填的数据有两项,一项就是账号,另一项数据就是密码,当管理员正确填写并提交这二者数据之后,管理员就可以进入系统后台功能操作区。项目管理页面提供的功能操作有:查看任务,删除任务操作,新增任务操作,修改任务操作。任务资讯公告信息管理页面提供的功能操作有:新增任务资讯公告,修改任务资讯公告,删除任务资讯公告操作。任务资讯公告类型管理页面显示所有任务资讯公告类型,在此页面既可以让管理员添加新的任务资讯公告信息类型,也能对已有的任务资讯公告类型信息执行编辑更新,失效的任务资讯公告类型信息也能让管理员快速删除。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值