作为Windows Azure CTP的一部分,我们发布了Windows Azure Content Delivery Network (CDN) ,它能用来传输Windows Azure Blob 内容。 Windows Azure CDN 向开发者提供了一个全球性的解决方案来传输高带宽内容。
Windows Azure CDN 分步在全球(美国,欧洲,亚洲,澳大利亚和南美)18处地点,并会继续扩大。Windows Azure CDN 将您的Windows Azure blobs 缓存在某个最佳地点,这样能提供最大的带宽来将您的内容传输给用户。您可以通过Windows Azure Developer Portal 来为您的任何一个存储账户开启CDN传输功能。CDN只提供了对于存储于公开blob容器(能被匿名访问)的blob的边缘传输。
CDN所带来的好处是对于那些越远离存储于Windows Azure Blob服务中的内容源的用户提供越好的性能和用户体验。另外, Windows Azure CDN 提供了对于热门事件内容的世界范围的高带宽访问。
当您为存储账户开启CDN访问, Windows Azure Portal 向您提供了一个如下格式的域名:http:/ /<guid>.vo.msecnd.net/.此域名可以被用来访问公开容器内的blob。举例来说,对于一个公开的容器 "images" ,以及一个存储账户 "cohowinery",一旦存储账户开启了CDN访问功能,用户可以通过如下任一URL访问该容器内的blob:
- Windows Azure Blob 服务 URL: http://cohowinery.blob.core.windows.net/images/
- Windows Azure CDN URL: http://<guid>.vo.msecnd.net/images/
当通过 Windows Azure Blob 服务 URL发送请求时,blob直接从 Windows Azure Blob服务中读取。当通过Windows Azure CDN URL发送请求时,请求被重定向至离发出该请求的位置最近的CDN端点。如果在该端点没有发现所需blob,之后CDN便会从Windows Azure Blob服务处检索获得所需blob,并缓存在该端点,且为该缓存blob设置一个生存周期(time-to-live ,TTL)。TTL 指定了在Windows Azure Blob 服务刷新该blob之前,它应该被缓存于CDN的时间。CDN只在TTL过期时才会企图刷新从 Windows Azure Blob服务处取得的blob。 默认TTL时间为 72 小时。 在2009 PDC大会上,我们会允许用户为您的Windows Azure blobs指定标准的HTTP Cache-Control 头部 。如果该值是为blob而设定的,那么TTL会被设置为Cache-Control 头部指定的值。
只有当内容是通过CDN边缘缓存传输而来的时候,在CDN中缓存blob才有意义,所以在blob生存周期只被请求一次的内容并不会从边缘缓存上获得性能的提升。性能改善最多的是那些在其生存周期内被频繁访问的blob内容。
您也可以在Windows Azure Developer Portal 内,按照存储账户来为Windows Azure CDN 访问注册一个定制的域名。举例来说,如果您希望通过"merlot.cohowinery.com"来访问您的CDN内容,您可以在门户内为CDN端点注册一个定制域名。这样便允许你通过如下3种URL方式访问:
- http://cohowinery.blob.core.windows.net/images/
- http://<guid>.vo.msecnd.net/images/
- http://merlot.cohowinery.com/images/
最后2种URL通过Windows Azure CDN 访问"images" 容器内的blob。而第一种URL通过Windows Azure Blob 服务直接访问blob。
通过如下步骤来为存储账户开启CDN访问功能:
- 访问Windows Azure Developer Portal。
- 单击您的存储账户。
- 为您的存储账户单击 "Enable CDN" 。
- Windows Azure Developer Portal会提供如下格式的CDN域名: http://<guid>.vo.msecnd.net/ .
为该端点所创建的配置不会立即生效;需要最多60分钟来将该注册配置传输至世界范围的CDN网络。此时立即使用CDN域名会得到一个400 错误,直到该配置在全球范围内被更新完毕。
在您完成了上述步骤之后,您必须指定哪些容器被作为公开容器。 (http://msdn.microsoft.com/en-us/library/dd179391.aspx). 之后 ,您便可以通过CDN URL访问那些容器内的blob。CDN 域名代表了存储账户,所以任何该存储账户内公开的blob容器都能通过该CDN URL访问到 。
您也可以为Windows Azure CDN 端点注册一个定制域名。按如下步骤注册,并为您的CDN内容使用一个定制的存储域名:
- 访问 Windows Azure Developer Portal
- 单击您的存储账户
- 在您的http://<guid>.vo.msecnd.net/ 端点上单击 "Manage"
- 输入您的定制域名
- 为了完成定制域名的注册,会验证您是否拥有该域名。您会被要求为您的 "custom.domain.name" 注册一个 CNAME 记录( 从"<guid>.custom.domain.name" 指向"domainnameverification.windows.azure.com", <guid> 是Windows Azure Developer Portal所指定的)。
- 一旦您注册了该CNAME,单击验证CDN端点。Windows Azure 会验证该CNAME记录是否存在,如果成功,则您的定制域名注册完成。
使用定制域名:
- 创建一个CNAME 记录,用来将"custom.domain.name" 指向"<guid>.vo.msecnd.net"
- 使用如下blob API,将希望提供匿名访问的容器变为公开容器:
http://msdn.microsoft.com/en-us/library/dd179391.aspx
- 之后,您便可以通过http://custom.domain.name/,为您的blob提供匿名访问。
如果您不再希望在CDN中缓存blob,您可以:
已经缓存在CDN内的blob会被保留,直到TTL过期。当TTL过期时, Windows Azure CDN会验证CDN端点是否依然有效以及 Windows Azure blob 是否依然可以被匿名访问。若不是,该blob不再被缓存。这意味着如果您改变了blob的内容,而该blob又被缓存在CDN内,这些新更改并不会通过CDN反馈出来,直到缓存内容的生存周期过期,CDN 刷新了其内容。
额外信息:
- 现在CDN 访问您的blob并不会被收费。 我们会在未来提供Windows Azure CDN方案定价信息。
- 为了达到最好的性能表现,我们建议缓存的blob小于10 GB 。
- Windows Azure CDN 访问只支持匿名访问 。CDN访问并不支持HTTP. HTTPS 。
- 每次一个定制域名只能被注册用于一个存储账户端点。举例,不能同时将 "merlot.cohowinery.com"注册用于2个不同的 Windows Azure CDN 端点。
- 您可以为不同端点注册交叠域名。举例,如下域名可以同时注册用于不同的存储账户或端点。:
- http://merlot.cohowinery.com/
- http://vintage.merlot.cohowinery.com/
Brad Calder
Windows Azure Storage
本文翻译自:http://blogs.msdn.com/b/windowsazure/archive/2009/11/05/introducing-the-windows-azure-content-delivery-network.aspx
相关推荐
4. **Content Delivery Network (CDN)** - 通过在全球范围内维护数据缓存副本,加速对Windows Azure存储中的数据访问。 5. **Connect** - 允许企业内部计算机与Windows Azure应用程序之间建立IP层的连接,实现混合云...
- **内容分发网络(Content Delivery Network, CDN)**:通过在全球范围内部署的节点加速静态资源的分发,减少延迟,提高用户体验。 - **连接服务**:支持不同地理位置之间或云与本地数据中心之间的连接。 #### ...
此外,Azure的CDN(Content Delivery Network)服务确保内容快速、高效地分发到全球用户,提高用户体验。 4. **Windows Azure CDN**:内容分发网络服务能够在用户附近存储和提供Blob内容,降低延迟,提高数据访问速度...
- 通过Azure Content Delivery Network (CDN)加速静态内容的分发。 - **案例分析**:书中可能包含具体的案例研究,展示如何将这些技术应用于实际项目中,解决特定的技术挑战。 ##### 4. **开发指南** - **步骤...
Windows Azure Content Delivery Network (CDN) 是微软云平台的一个关键组件,旨在优化内容传输速度,提升用户体验,尤其对于地理位置分散的用户群体。 1. 业务挑战与需求 微软的Bing地图服务在全球范围内广受欢迎...
Azure CDN(Content Delivery Network)是微软Azure云服务的一部分,它提供了一种全球分布式的网络,用于快速分发静态内容,如图片、视频和JavaScript/CSS文件等。通过将内容缓存到世界各地的边缘节点,CDN可以显著...
8. **性能优化**:针对云环境的特点,探讨了如何优化SharePoint性能,如缓存策略、数据库调优、网络优化以及使用云服务如Azure Content Delivery Network(CDN)来加速内容分发。 9. **社交与协作**:SharePoint ...
如果你的网站部署在Azure上,可以结合Azure Content Delivery Network (CDN) 使用。CDN可以缓存动态页内容,为用户提供更快的访问速度,类似于静态页效果。但是,这同样不改变页面本身的动态特性。 7. **页面生成...
- CDN(Content Delivery Network)现在通常负责静态页面的处理和分发,它可以缓存内容并减少服务器负载。 - 数据库优化包括SQL语句优化(避免SELECT *,减少多表联查等),创建合适的索引,以及根据业务需求进行...
4. **Azure Content Delivery Network (CDN)**:加速游戏内容的分发,减少延迟,提高玩家体验,尤其对于需要快速加载大量资源的游戏至关重要。 5. **Azure Traffic Manager**:通过智能路由策略,确保游戏流量在...
- **Azure CDN**: 配置Azure Content Delivery Network(CDN)加速静态资源的加载,提高用户体验。 - **缓存服务**: 使用Azure Redis Cache或Application Insights的缓存功能提升WordPress性能。 **7. 安全与备份**...
4. **图片服务器**:专门用于存储、管理和分发图像文件的服务器,可能会使用CDN(Content Delivery Network)加速全球访问。 5. **服务器硬件**:包括处理器、内存、硬盘、网络接口卡等,高性能服务器通常配备专用的...
【天蓝色CDN演示】是针对云服务提供商Azure的Content Delivery Network(CDN)功能的一个实践展示。在本文中,我们将深入探讨CDN的基本概念、Azure CDN的优势以及如何通过实际操作来设置和使用Azure CDN。 首先,让...
8. **性能优化**:缓存策略、CDN(Content Delivery Network)的利用,以及视频预加载等手段,都是提高系统性能的关键。 9. **论文部分**:论文可能涵盖了系统设计的理论基础、架构选择、关键技术实现、性能评估等...
首先,系统运维是运维工作的基石,涵盖IDC数据中心、网络、CDN(content delivery network)和基础服务的建设与维护。IDC数据中心建设涉及到业务需求分析、数据中心选址、建设和维护,以确保足够的网络接入能力、防御...
9. **缓存策略**:通过CDN(Content Delivery Network)缓存热门内容,减少服务器压力,提高用户播放速度。.NET中的HttpClient和HttpClientFactory可以帮助我们更好地与CDN服务进行交互。 10. **错误处理与监控**:...
分发部分,ASP.NET可以配合CDN(Content Delivery Network)来提高视频的加载速度和播放质量。至于播放,系统通常会生成视频的播放列表(如m3u8文件),并通过HTML5的Video标签或JavaScript播放器库(如JW Player或...
3. 高性能:利用CDN(Content Delivery Network)加速静态资源的分发,结合缓存策略,如Redis或Memcached,提高数据读取速度。同时,数据库优化(如索引、分区、读写分离)和异步处理机制也是提升性能的重要手段。 4....
5. **CDN(Content Delivery Network)**:通过将静态资源分发到全球各地的边缘节点,CDN可以显著降低用户访问延迟,提高用户体验。 6. **异步处理**:使用消息队列(如RabbitMQ或Kafka)进行异步通信,可以解耦服务...
另外,CDN(Content Delivery Network)服务也能加速静态资源的分发,减少延迟。 最后,监控和日志记录是保障系统稳定运行的关键。通过集成如ELK(Elasticsearch, Logstash, Kibana)堆栈或Application Insights等工具...