Windows Azure开发使用Blob storage处理静态档案

Windows ">Azure Storage 是 Windows Azure 平台上面提供永久性数据储存服务,除了前一篇介绍的 SQL Database 之外,还有用于储存档案(正确地说是
BLOB)的「Blob 储存服务」,还有可以用来储存 Key-Value 资料的「Table 储存服务」,这篇文章将先针对「Blob 储存服务」的使用来做介绍。

Windows Azure Blob 储存服务简介

Windows Azure Blob 储存服务主要是提供储存大量的纯文本或二进制的数据,在存储器上的每一笔数据对象就好像文件系统上的档案一般。储存在Windows Azure Blob存储器上的资料都可以透过URL存取(透过验证或完全公开),并且拥有下列特性:

目前一个 Windows Azure Blob 存储器可以提供最多 200TB 的储存空间(根据使用量计费)。

一个 Windows Azure 订阅账号最多可以建立 5 个 Windows Azure Blob 存储器。

可以选择是否跨区域数据备援(默认会在单一区域内储存多份数据复本以确定可靠度)

可以透过 RESTful Web Service 的方式操作资料的 CRUD(Create, Read, Update, Delete)

提供数据存取的监控及记录

你的 PHP 应用程序不一定要放在 Windows Azure 上才能使用 Windows Azure Blob 储存服务,由于能透过 RESTful Web Service 或是 Windows Azure SDK for PHP 的方式存取,即便是在自己的 hosting 上也可以使用,通常在下列几种情况下较适合使用 Blob 存储器服务:

Hosting环境的永久储存空间有限或是根本没有永久储存空间

Windows Azure 网站服务仅提供 1GB 的永久性储存空间,而 Windows Azure 云端服务则是完全没有永久性储存空间,在这样的状况之下,都不建议应用程序假设执行环境中有个文件系统可以直接操作,也就是要储存不是放在数据库中的数据就不应该使用档案来处理,而是可以将它储存在Windows Azure Blob储存服务这样的云端储存平台。

而且把应用程序中关于档案的操作抽离到云端平台之后,执行环境变单纯了,在部署到异质平台,或是要搬 hosting 时就会更方便了。

避免档案下载大量吃掉网站带宽

即使你觉得PHP应用程序执行环境有足够的永久性储存空间,但若你的应用程序里许多档案都放在同一个环境,而且是透过同样的 domain 来下载,在用户在下载大档案吃掉输出带宽,或是同时下载大量档案(如加载一个页面时同时加载 CSS、JavaScript 或图片档案)占掉过多的联机等等状况都会对资源造成耗损,这时候把档案放在 Windows Azure Blob 存储器上,就可以有效减缓这些问题。

安装 Windows Azure SDK for PHP

Windows Azure 团队也提供了一套给 PHP 应用程序使用的 Windows Azure SDK,并且将此 SDK 的原始码公开在 GitHub 上,同时可参考在该页面上的说明来选择安装 SDK 的方法(Git、PEAR 或 Composer )。透过 SDK 来存取 Windows Azure Blob 储存服务就不必自己处理 RESTful Web Service 的呼叫。

接下来的文章都会使用 SDK 的方式来操作 Windows Azure Blob 储存服务。

情境:将网页前端用到的静态档案放在 Blob 存储器

在许多网页前端加速的建议文章中,都会建议将网页前端中会用到的静态档案(如:CSS、JavaScript、图文件等非程序档案)放在与网站不同的网域下(参考:High Performance Websites 的 Rule 8: Make JavaScript and CSS External 的例子),以增加浏览器平行下载的数量(因为浏览器针对单一网域会限制平行下载的数量)。

做法很简单,可以在Windows Azure Blob储存服务中先建立一个公开存取的容器(container)

在 Windows Azure 管理后台中的存储器可以直接建立容器(container)

可以根据需求建立公开或非公开的容器

时间: 2024-09-18 14:20:35

Windows Azure开发使用Blob storage处理静态档案的相关文章

PHP执行环境在Windows Azure开发实战简介

Windows Azure是Microsoft所研发并且提供的公有云平台服务,而这个平台支持多种不同的程序语言.开发技术,换句话说,您不一定必须使用Microsoft的技术(如:.Net.C# 等)才能使用Windows Azure这个云端平台 [1].这系列文章便会以PHP为程序语言介绍如何在Windows Azure上开发出实际可运作的网站或应用.   这一系列文章包括:   PHP 应用程序执行环境 部署PHP应用程序 数据库的选择: MySQL or SQL Database 使用Win

《微软云计算Windows Azure开发与部署权威指南》——6.2 Azure平台AppFabric概述

6.2 Azure平台AppFabric概述 Windows Azure AppFabric是一套全面的云端中间件,服务于开发.部署和管理Windows Azure平台应用.它在Windows Azure开发模型上提供一套Paas(平台即服务)层面的服务,从而提高了开发效率.同时,它可以提供安全的通道来跨越网络和地理位置的界限,将已有的应用程序接入到云端.并且,它维持了Windows Azure和Windows Server上一致的开发模型. Windows Azure AppFabric通过在

《微软云计算Windows Azure开发与部署权威指南》——6.7 AppFabric服务总线REST的服务开发

6.7 AppFabric服务总线REST的服务开发 微软云计算Windows Azure开发与部署权威指南 本节介绍如何建立一个简单的服务总线主应用程序,使该程序公开一个基于REST的访问接口.任一台Web客户端,比如浏览器,都可以使用HTTP请求访问服务总线API.本示例使用的是WCF REST编程模型在服务总线上构建REST服务. 1.步骤一:注册账户 ① 在Windows Azure门户创建一个服务命名空间.可参考本章6.2小节的内容. ② 在Windows Azure Manageme

《微软云计算Windows Azure开发与部署权威指南》——第6章 Windows Azure平台访问控制与总线AppFabric6.1 服务导向架构

第6章 Windows Azure平台访问控制与总线AppFabric 6.1 服务导向架构 微软云计算Windows Azure开发与部署权威指南什么是SOA(Service-Oriented Architecture,服务导向架构)?SOA的理念广为人知,然而其概念解释又有多种版本.本书认为SOA是为了满足组织机构的商业需求而建立的松耦合的体系结构. 需要读者注意的是,SOA注重架构而不是实现,它不是一门技术,而是一门设计哲学,很多人将面向服务的架构和面向服务的实现混淆.SOA并不强调实现的

《微软云计算Windows Azure开发与部署权威指南》——6.3 Windows Azure的AppFabric存取控制应用程序设计

6.3 Windows Azure的AppFabric存取控制应用程序设计 在过去的几十年里,企业中对于身份识别问题的解决方案一直在向基于声明靠拢.基于声明的身份模型将应用程序中的身份认证和授权的公共部分抽取出来,集中到外部服务中,这个服务由安全和身份识别方面的专家编写和维护,这样做是非常有益的. 图6-9所示为ACS的一般应用场景. 客户端请求①并由②获得一个SWT令牌,之后客户端使用该SWT来调用服务③,一旦被ACSAuthorizationManager成功验证,④便能访问到所需的服务方法

《微软云计算Windows Azure开发与部署权威指南》——6.6 AppFabric服务总线服务Remoting的应用程序开发

6.6 AppFabric服务总线服务Remoting的应用程序开发 本节将带领大家通过微软发布的Windows Azure Training Kit里的示例学习AppFabric服务总线的服务Remoting的应用程序开发.使用的训练包与6.3节一样,是WATK June2012.exe.示例项目目录为WATK\Labs\ServiceBusServiceRemoting,进行该项目开发所需要的软件环境为(针对Windows 7操作系统). ① IIS 7(开通ASP.NET.WCF HTTP

《微软云计算Windows Azure开发与部署权威指南》——导读

https://yqfile.alicdn.com/3043625418f9de9de0f6111aaef4f0adbb8afaa5.png" > 前言 云计算技术正在快速地发展,业界各大厂商纷纷制定相应的战略,新的概念.观点和产品不断涌现.云计算的技术热点也呈现百花齐放的局面,比如以互联网为平台的虚拟化解决方案的运行平台,基于多租户技术的业务系统在线开发.运行和运营平台,大规模云存储服务,大规模云通信服务等.云计算的出现为信息技术领域带来了新的挑战,也为信息技术产业带来了新的机遇. 微软

《微软云计算Windows Azure开发与部署权威指南》——6.9 AppFabric消息缓冲区:云端上的信息暂存区

6.9 AppFabric消息缓冲区:云端上的信息暂存区 6.9.1 认识消息缓冲区消息缓冲区(Message Buffers)是一些小型.临时的缓存区,用于将消息存放一段时间直到其被在此检索.在Web编程模型场景中,如果Windows Azure服务总线绑定不能使用,那消息缓冲区就会很有用,比如,消息接收和处理控件运行在非Windows平台的计算机上或者该程序不是由Java编写实现的时候.应用程序可以使用HTTP协议访问消息缓冲区,并不一定要安装Windows Azure SDK,所以消息缓冲

《微软云计算Windows Azure开发与部署权威指南》——6.10 小结

6.10 小结 本章通过10个小节对Windows Azure AppFabric平台进行了详细的介绍,着重介绍了服务总线和访问控制这两个核心服务的概念和应用开发. 服务总线和访问控制保证了安全的应用程序连通性和联合访问控制.服务总线提供了网络基础架构,使得可以跨网络连通应用程序.它使用大量不同的消息模式,可以成功穿过防火墙和NAT网络地址转换设备,并且不会对这些设备提供的安全性保障造成影响.访问控制则提供基于声明的云端访问控制.希望读者能对这两个概念进行深入的学习.