详细设计 存储分配_【存储论文笔记】Windows Azure Storage

3b53af95ba063f20584fea0565491987.png

写在前面

Windows AZure Storage(WAS)是微软向全球提供的商业存储平台,旨在为用户提供大容量、高可靠、高可用、强一致的存储服务,WAS存储数据中心分布在全球多地,使得用户数据得到最大限度的可靠性保障,WAS宣称其提供的服务满足CAP三个条件。

本文主要是结合AZure论文[1],分析其系统架构设计,水平有限,如有问题烦请指出。

AZure Storage设计要点

    • 数据强一致性
      强一致性特性使得用户使用更方便,不需要考虑数据不一致或者数据落后带来的影响,AZure在保证用户数据强一致的同时也能够保证用户在底层网络分区情况下的可用性,即同时满足了CAP三个要素。
    • 可扩展全球命名空间
      AZure面向全球提供存储服务,因此保证在任何地方访问数据的方式一致。所有的数据通过URI访问。形式如下:
      http(s)://AccountName.<service>1.core.windows.net/PartitionName/ObjectName
    • 全球容灾
      冗余是容灾的最直接方式,AZure在全球部署多个数据中心,保证在灾难发生时也能够恢复用户数据。
    • 统一存储
      基于相同的底层存储机制向上抽象多种存储服务,如对象存储、消息队列、表格存储等。

AZure Storage架构设计

a9eac4d38f9828c3803f62f47339b9af.png

从AZure的架构设计可以看出它是一个多层结构,每一层各司其职,每一层看到的最小逻辑单位不一样,所以处理的粒度就不一样,通过多层结构从下到上层层抽象,使得基于相同的底层基础组件向上提供不同类型的存储服务,比如表格存储、消息队列或者对象存储等。
上图中从宏观上列出了WAS的几大组件:

    • Location Service
      Location Service用于管理Storage Stamp,在Storage Stamp之间进行容灾恢复和负载均衡,并且负责全局命名空间管理。
      WAS的数据中心遍布在北美、欧洲、亚洲,LS管理这些数据中心,同时也负责将用户的请求分发到距离其最近的数据中心。
    • Storage Stamp
      Storage Stamp是由一组机架组成的存储集群,每个rack是一个故障隔离域,配备网络及电力冗余。
      Storage Stamp内部自下到上分为三层,接收用户请求并进行数据复制,从下到上分别为stream layer、partition layer、front end。
      • stream layer
        这层其实是一个完整的分布式文件系统,管理底层存储设备,WAS底层数据复制及调度以extent为单位。向上为partition layer提供接口,stream layer只提供append接口,不支持overwrite in place。
      • partition layer
        partition layer主要负责向上抽象不同的存储服务,比如消息队列、对象存储等,且这种存储服务抽象是对底层stream layer透明的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值