您的位置:首页 > 其它

推荐三个关于Azure的Session(pdc2008大会)

2008-12-25 09:12 309 查看
到目前为止,介绍关于Azure平台的底层架构的文章一直都不多,可以说少的跟“国宝大熊猫”似

的。所幸在PDC2008上有一些相关的信息(主要是一些SESSION和相关的PPTX)。今天就先整理

一下,希望有哪位在微软从事相关工作的兄台出手(在不违反保密协议的前提下)将更多的信息发出

来,让大家一起学习进步。

费话不多说了,开始今天的正文。

Session 1 : Windows Azure: Architecting & Managing Cloud Services



PPTX下载链接:http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES02.pptx

在该SESSION中最让人印象深刻的是对Fabric Controller(FC)的讲解,这里暂且称之为“组织控

制器”吧。其所要做的事件就是对发布的服务进行资源分派,管理服务生命周期,维护系统正常运转。

如下图所示:



图中左上角的“What” is needed,按我的理解应该“你想要得到的东西”,换句话说是你的需求

是什么。因为微软在之前的宣传中提出过一些信息,即:

Windows Azure管理服务并不仅仅是服务器,它是“告之它你想要的,然后它就会自己实现相

关细节”的这样一个平台。

而Fabric Controller就是在对这些需求进行分析整理并加以布署实现,在该图的下方我们看到有

两块内容,一个是load-balancers(负载均衡),另一个是switches.

除了Fabric Controller(FC)之外,该Session还讲了关于服务(托管代码)的隔离和安全性问题,

如下图:





然后就是在布署服务时,平台是采用负载均衡方式来路由那些有效的活动节点,同时会跨越那些失

效的域。

FC提供了状态检查点(state check-pointed),其实现的功能包括:



I:用于回滚到前一个检查点。(按我的理解:服务的执行可能会出现中断或失败,当出现这种情况

时,可以回滚到最近的成功执行的检查点继续执行)。

II:同时预防中断或FC状态的丢失。

III:跨失效域(fault domain)的存储(注:失效域应该是指在Azure平台上那些服务器或主机出

现硬软故障或进行升级服务时节点)

最后该SESSION还发布了在2009年度要做的工作,包括:

I.暴露更多的基础服务模型

II.更加丰富的服务生命周期管理


Session 2:Under the Hood: Inside the Windows Azure Hosting Environment



PPTX下载链接:http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES19.pptx

看了上面的Session1如果感觉还不过瘾的话,可以看看这个课程,这个Session可以看

过是对之前课程的高级版讲解。里面对FC的讲解要更加透彻(我目前还在看,所以就先不

多说了)

Session 3:Windows Azure: Essential Cloud Storage Services

PPTX下载链接:http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES04.pptx



该Session讲解的是关于云存储服务相关的内容,因为在之前我看过Azure tookit开发包中的一些

例子,然而却不能完全搞懂Azure平台上是如何存储结构化和非结构化数据的,所以才专门看了这个课

程,一看之下,还真发现了不少门道,下面简要归纳一下:

在Azure平台上要存储数据要使用帐号进行存储。当用户创建相应帐户后,会得到一个256位的加密

串(开发时使用)。在Azure平台上有三个基本的数据(层)抽象,分别是:

Blobs :提供一个简单接口来用户存储非结构化数据文件(图片,普通文件等)和相关的元数据(我

想可能会用于数据文件同步的需要)



Tables :提供结构化存储。该Table 是一组entities, 该entities包括一系列的属性

Queues :提供可靠的数据存储并对相应的应用(服务)发送消息(messages)



关于Blobs (非结构化文件存储),其提出了下面的概念:





即:一个存储帐号可以有许多的Blob Containers(容器),而一个Container即是一组blob的集合。

所谓的共享策略需被施加于容器(container)级别之上。

同时该Session也解释了Azure平台上进行服务请求时的URL串的结构,如下图:



当然该Session的精彩之处还不在于此,其所提出的“使用Blocks机制上传大文件”是一个

不错的亮点。如下图:

1.原理分析:




2.使用PutBlockList 的例子:





3.然后是上传之后的图形讲解:



通过这些可以看出,blob结构由一个Blocks列表所组成的。每个block是通过blockid进行标识的,

其ID发布为64字节长。其次每个BLOCK之间是彼此关联,互相影响的。且每个block的最大长度是4M,

但每个BLOCK的大小可以不同。在BLOB讲解最后就是解释了如何使用RESTAPI来操作管理BLOB(更

新,添加,拷贝等)。

而对于Tables存储(结构化数据)的讲解,因为之前我一直不太赞同将核心数据移入到云平台之后,

所以就没过多关注,但从其介绍的内容中还是可以看出一些很好的地方的,比如数据起码被拷贝三次(

冗余的需要),可以随时访问您的数据,提供以TB为单位的存储空间等等,如下:





对于Queues应该是Azure平台的一个重点,因为消息这种数据结构在ServiceBus中是核心数据,可以

说服务总结本身就是消息驱动的。当然在 Azure平台上所提供的异步的消息发送机制,并确保每个消息至

少被处理一次,参见下图:



该图演示当consumer1当机后,消息msg1在30秒之内还是可见(即要求被其它consumer处理)

用户可以使用当前帐户创建多个Queues,每个Queues由一系列消息组成,每个消息长度小于8K.

在该SESSION最后,作者用一张图来总结blobs,tables,queues三种数据抽象所存储结构信息类型。

我想只要记住这张图,这节SESSION应用就没白听了。



好了,今天的内容就先到这里了。

更多关于Azure平台的Session可以访问:http://channel9.msdn.com/tags/pdc2008.azure/



原文链接:http://www.cnblogs.com/daizhj/archive/2008/12/22/1359727.html

作者: daizhj, 代震军

Tags: azure,serverbus,blobs,tables,queues,云存储,服务总线

网址: http://daizhj.cnblogs.com/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: