zoukankan      html  css  js  c++  java
  • 艾伟:推荐三个关于Azure的Session(pdc2008大会) 狼人:

    到目前为止,介绍关于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),其实现的功能包括:

    • 用于回滚到前一个检查点。(按我的理解:服务的执行可能会出现中断或失败,当出现这种情况时,可以回滚到最近的成功执行的检查点继续执行)。
    • 同时预防中断或FC状态的丢失。
    • 跨失效域(faultdomain)的存储(注:失效域应该是指在Azure平台上那些服务器或主机出现硬软故障或进行升级服务时节点)

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

    • 暴露更多的基础服务模型
    • 更加丰富的服务生命周期管理

    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/

  • 相关阅读:
    C++中使用多线程
    hdu 4223 dp 求连续子序列的和的绝对值最小值
    hdu 1372 bfs 计算起点到终点的距离
    hdu 4217 线段树 依次取第几个最小值,求其sum
    心得
    hdu 1175 bfs 按要求进行搜索,是否能到达,抵消两个(相同)棋子
    hdu 4221 greed 注意范围 工作延期,使整个工作时间罚时最少的单个罚时最长的值
    hdu 2844 多重背包 多种硬币,每一种硬币有一点数量,看他能组成多少种钱
    uva LCDDisplay
    hdu 4218 模拟 根据一个圆点和半径画一个圆 注意半径要求
  • 原文地址:https://www.cnblogs.com/waw/p/2156874.html
Copyright © 2011-2022 走看看