技术开发 频道

Windows Azure云缓存:数据访问保驾护航

  【IT168技术】应用程序往往会重复访问同一资源。一个通常的机制是设置数据缓存,减少对数据服务器的负载,达到提高数据访问性能的目标。Windows Azure提供了两种不同的缓存服务机制:一个是针对Windows Azure应用的内存级数据缓存机制,另一个是针对用户的硬盘级Blob数据缓存机制,即离用户最近的硬盘用作优先的数据缓存介质。

  内存缓存

  Windows Azure提供的三种数据管理服务——SQL Azure, Table, Blob——大大提高了数据访问效率。SQL Azure是微软基于Microsoft SQL Server Denali,也就是SQL Server 2012构建的云端关系型数据库服务。SQL Azure是SQL Server的一个大子集,能够实现SQL Server的绝大部分功能,并且将它们作为云端的服务来扩展。SQL Azure Database提供内置的高精准、可用性、功效与其他功能。不过,相对来说,内存级的数据存取速度会更快一些。基于此,常用数据的内存镜像拷贝往往能很好地提高应用程序的性能。Windows Azure也提供了相应的内存级缓存工具In-Memory Caching,如图:

Windows Azure云缓存:为实现数据快速访问保驾护航
▲图1:内存级缓存能加速Windows Azure应用程序对常用数据的访问

  对于非持久化数据而言,应用程序可以直接将数据存储在缓存中,并随时读取。为追求更好的性能与可靠性,缓存通常被设计成一种分布式服务,缓存的数据分布在不同的Windows Azure数据的不同服务器上。

  举个例子,当一个应用程序需要时不时的获取产品分类信息时,使用内存级缓存机制是一个不错的选择,这样可以非常高效的访问数据。当然,Windows Azure为提供技术来保证数据的锁定,读写,只读等机制。使用In-Memory Cache这种服务,ASP.NET应用程序的一个微小的配置变化,就能缓存在用户会话Session中。

  内容分发网络(CDN)

  我们假设这样一个情景,需要存储二进制数据,供来自不同国家的用户访问。比如说今年6月份的奥运会比赛视频,最新的驱动程序补丁,或者是畅销书等。同时将这些用户经常访问的二进制数据复制到Windows Azure的所有6个数据中心,是非常有意义的。如果用户数量特别多的话,这么做也许还不够。为追求更好的性能,我们可以使用Windows Azure CDN,如图所示:

Windows Azure云缓存:为实现数据快速访问保驾护航
Windows Azure CDN缓存来自世界各地的不同二进制数据的拷贝,方便不同国家地区的用户快速访问

  Windows Azure CDN在全世界有许多不同的站点,每一个站点都能缓存Windows Azure二进制数据的多个拷贝。当用户第一次访问某个特定的二进制数据时,Windows Azure会将该二进制数据信息从Azure数据中心拷贝到用户当地对应的本地CDN存储中。之后的重复数据请求全部交由CDN中的缓存相应,而不用路由到离用户最近的Windows Azure数据中心去处理。数据缓存的超时时间是可配置的。遇到超时,CDN会重新做一次缓存拷贝操作,这一点与用户第一次访问的动作非常类似。CDN缓存的应用,提高了不同国家与地区的用户访问Windows Azure应用程序与数据的效率。

0
相关文章