快出海  > 微软云  >  带你揭秘Azure Blob存储(上)

带你揭秘Azure Blob存储(上)

作者:周博洋
时间:2021-06-19
Azure Blob存储是一个云对象存储系统,它为客户提供了在任何时间段内存储无限量的数据的能力。客户可以随时从任何地方访问他们的数据,并且只为他们使用和存储的数据付费。在Azure Blob中,数据可以选择本地和地理复制进行持久存储,以便于灾难恢复。在本文中,我们描述了Azure Blob存储的体系结构、全局名称空间和数据模型,以及它的资源调配、负载平衡和复制系统。

概述

Azure Blob存储是一个云对象存储系统,它为客户提供了在任何时间段内存储无限量的数据的能力。客户可以随时从任何地方访问他们的数据,并且只为他们使用和存储的数据付费。在Azure Blob中,数据可以选择本地和地理复制进行持久存储,以便于灾难恢复。在本文中,我们描述了Azure Blob存储的体系结构、全局名称空间和数据模型,以及它的资源调配、负载平衡和复制系统。

01、简介

Azure Blob 存储是一个可扩展的云存储系统,自2008年11月开始发布以来。它在Microsoft内部用于社交网络搜索、提供视频、音乐和游戏内容、管理医疗记录等应用程序。此外,有成千上万的微软以外的客户在使用 Azure Blob 存储,任何人都可以通过互联网注册使用该系统。在 Azure Blob的构建过程中,来自潜在内部和外部客户的反馈推动了许多设计决策。这些反馈产生的一些关键设计特性包括:

强一致性

许多客户需要强一致性:尤其是企业客户将其业务线应用程序移动到云端。他们还希望能够对强一致性数据执行条件读、写和删除,以实现乐观并发控制。为此,Azure Blob 尽可能提供了CAP定理声称难以同时实现的三个属性:强一致性、高可用性和分区容限。

全局和可扩展的命名空间

为便于使用,Azure Blob存储实现了一个全局命名空间,允许从世界上任何位置以一致的方式存储和访问数据。由于Blob的一个主要目标是支持存储大量数据,因此这个全局名称空间必须能够处理超过EB的数据。

容灾

Blob跨相距数百英里的多个数据中心存储客户数据。这种冗余为灾难(如地震、野火、龙卷风等)提供了必要的数据恢复保护。

多租户和存储成本

为降低存储成本,许多客户都使用相同的共享存储基础架构。Blob将具有不同资源需求的许多不同客户的工作负载组合在一起,因此在任何一个时间点所需的存储量都比在其专用硬件上运行的服务要少得多。

02、全局分区名称空间

我们存储系统的一个关键目标是提供一个单一的全局名称空间,允许客户端寻址云中的所有存储,并随时间扩展到所需的任意数量的存储。为了提供这一功能,我们利用DNS作为存储名称空间的一部分,并将存储名称空间分为三个部分:帐户名、分区名和对象名。因此,所有数据都可以通过入以下URI进行访问:http(s): //AccountName. blob.core.chinacloudapi.cn/PartitionName/ObjectName (国外的Azure Blob的domian name 略有区别)。

AccountName

是客户选择的用于访问存储的帐户名,是DNS主机名的一部分。AccountName DNS转换用于定位存储数据的主存储群集和数据中心。此主要位置是所有请求到达该帐户数据的位置。应用程序可以使用多个帐户名跨不同位置存储其数据。当请求到达存储集群时,

PartitionName(对于Blob存储来讲就是Container name)

与AccountName一起定位数据。PartitionName用于当数据需要跨存储节点扩展对数据的访问。

ObjectName

标识该分区中的各个对象。系统支持跨具有相同PartitionName值的对象的原子事务。

03、高层体系结构

Azure云平台

Azure云该平台跨不同的数据中心和不同的地理区域运行许多云服务。Azure Fabric 控制器是一个资源调配和管理层,它为Azure平台上的云服务提供资源分配、部署/升级和管理。Azure存储服务就是这样一个在Fabric控制器上运行的服务。Fabric控制器为Azure 存储系统提供节点管理、网络配置、运行状况监视、服务实例的启动/停止以及服务部署。此外,Azure 存储从Fabric控制器检索网络拓扑信息、群集的物理布局以及存储节点的硬件配置。Azure存储服务负责管理跨磁盘的复制和数据放置,并在存储群集中对数据和应用程序通信进行负载平衡。

Azure Blob 存储体系结构及其组件

Azure Blob存储的一个重要特性是能够存储和提供对大量存储(EB及以上)的访问。Azure Blob存储生产系统由存储stamp和位置服务组成(如下图所示)。

640 (2).png

存储stamp

存储stamp是由N个存储节点机架组成的群集,其中每个机架构建为具有冗余网络和电源的独立容错域。集群通常在20以上个机架之间,每个机架有N个磁盘密集型存储节点。为了提供低成本的云存储,我们需要使生产中配置的存储尽可能高利用率。我们的目标是使存储stamp在容量、事务和带宽方面的利用率保持在70%左右。我们尽量避免超过80%,因为我们希望保留20%的备用空间,以便支持(1)磁盘短行程,通过利用磁盘的外部磁道通过利用磁盘的外部磁道获得更好的寻道时间和更高的吞吐量,以及(2)在内存中出现机架故障时继续提供存储容量和可用性。当存储戳记的利用率达到70%时,位置服务使用戳记间复制将帐户迁移到不同的stamp。

位置服务(LS)

位置服务管理所有存储stamp。它还负责跨所有stamp管理帐户命名空间。LS将帐户分配给存储stamp,并跨存储stamp对其进行管理,以实现灾难恢复和负载平衡。一般来讲位置服务本身分布在两个地理位置上,用于自己的灾难恢复。Azure存储从多个地理区域(如中国的北一,北二,东一,东二,北美、欧洲和其他亚洲非洲国家)的多个位置提供存储。每个位置都是多个数据中心,在其中任意一个DC位置有一个或多个建筑物,每个位置都有多个存储stamp。为了提供额外的容量,LS能够轻松地向区域添加新区域、新位置或向位置添加新标记。因此,为了增加存储量,我们在所需位置的数据中心部署一个或多个存储stamp,并将它们添加到LS中。然后,LS可以为客户将新的存储帐户分配给这些新的stamp,并将现有存储帐户从旧的stamp负载平衡(迁移)到新的stamp。对于具有两个存储stmap的位置服务和存储stamp中的逻辑层,LS跨所有位置跟踪生产中每个存储stamp使用的资源。当应用程序请求一个新帐户来存储数据时,它会指定存储的位置相关性(例如,中国北二)。然后,LS使用基于所有stamp的负载信息的启发式算法(该算法考虑戳的完整性和其他度量,例如网络,事务利用率)选择该位置内的存储stamp作为帐户的主stamp。LS然后将帐户元数据信息存储在所选的存储stamp中,更新DNS以允许请求从https://. blob.core.chinacloudapi.cn /到该存储stamp的虚拟IP(VIP,存储stamp为外部通信公开的IP地址)。

存储stamp中的三层结构

自下而上,这些分别是:

1、stream层

这一层对于Blob存储的操作主要位在磁盘上,也相当于存储的最底层,并负责分布和复制跨许多服务器的数据,以保持数据持久性。stream层可以被认为是stamp中的分布式文件系统层。它是被称为“流”(即称为“扩展数据块”的大型存储块的有序列表)的文件、如何存储它们、如何复制它们等等,这一层他都理解,但它不理解更高级别的对象构造或它们的语义。数据存储在stream层,但可以从Partition层访问。事实上,Partition服务器(分区层中的守护进程)和stream服务器在一个stamp中共同位于每个存储节点上。

2、Partition层

Partition层用于(1)管理和理解更高级别的数据抽象,如Blob对象,(2)提供可伸缩的对象名称空间,(3)为对象提供事务排序和强一致性,(4)在stream层上存储对象数据,以及(5)缓存对象数据以减少磁盘I/O。该层的另一个职责是通过在一个stamp中划分所有数据对象来实现可伸缩性。

如前所述,所有对象都有一个PartitionName;基于PartitionName值,它们被分解为不相交的范围,并由不同的分区服务器提供服务。该层管理哪个分区服务器为blob的 PartitionName范围提供服务。此外,它还提供跨分区服务器的分区名称的自动负载平衡,以满足对象的流量需求。

3、前端(Front-End)层

前端(FE)层由一组接收传入请求的无状态服务器组成。在接收到请求后,FE查找AccountName,对请求进行身份验证和授权,然后将请求路由到分区层中的分区服务器(基于PartitionName)。系统维护一个分区映射,该映射跟踪分区名称范围以及哪个分区服务器为哪个分区名称提供服务。FE服务器缓存分区映射,并使用它来确定将每个请求转发到哪个分区服务器。FE服务器还直接从stream层stream化大型对象,并缓存频繁访问的数据以提高效率。

两个复制引擎

在详细描述Stream流和Partition层之前,我们首先简要概述系统中的两个复制引擎及其各自的职责。

1、内部stamp复制(stream层)

此系统提供同步复制,并侧重于确保写入stamp的所有数据在该stamp中保持持久性。它在不同故障域中的不同节点之间保留足够的数据副本,以便在磁盘、节点和机架出现故障时保持数据在stamp的持久性。stamp内复制完全由stream层完成,位于客户写请求的关键路径上。一旦通过内部stamp复制成功复制了事务,就可以将成功返回给客户。

2、Stamp间复制(Partition层)

此系统提供异步复制,重点是跨stamp复制数据。stamp间复制是在后台完成的,不在客户请求的关键路径上。此复制是在对象级别进行的,在该级别上,可以复制整个对象,也可以复制给定帐户的最近增量更改。stamp间复制用于(1)在两个位置保留帐户数据的副本以进行灾难恢复,以及(2)在stamp之间迁移帐户数据。stamp间复制由位置服务为帐户配置,并由Partition层执行。stamp间复制的重点是复制对象和应用于这些对象的事务,而stamp内复制的重点是复制用于组成对象的磁盘存储块。


stamp内复制提供了对硬件故障的持久性,这种故障在大规模系统中经常发生,而stamp间复制提供了对地理灾害的地理冗余,这种情况很少见。提供低延迟的stamp内复制是至关重要的,因为这是在用户请求的关键路径上;而stamp间复制的重点是在达到可接受的复制延迟水平的同时,优化利用stamp间的网络带宽。这两种复制方案解决的问题不同。创建这两个独立复制层的另一个原因是这两个层中的每个层都必须维护的名称空间。在stream层执行stamp内复制允许将需要维护的信息量限定为单个存储stamp的大小。


这一重点允许将所有stamp内复制的元状态缓存在内存中以提高性能, 从而使Azure Blob存储系统能够通过在单个stamp内快速提交事务以满足客户请求,从而提供具有强一致性的快速复制。与此相反,Partition层与位置服务相结合,控制并理解跨stamp的全局对象名称空间,从而允许它跨数据中心高效地复制和维护对象状态。

(未完待续)

立即登录,阅读全文
版权说明

本文内容来自于企业上云直升机,本站不拥有所有权,不承担相关法律责任。文章内容系作者个人观点,不代表快出海对观点赞同或支持。如有侵权,请联系管理员(hj@kchuhai.com)删除!

相关文章
EMQ X Cloud 正式支持 Microsoft Azure 平台,助力企业出海业务
EMQ X Cloud 正式支持 Microsoft Azure 平台,助力企业出海业务
数字经济时代下 , 随着中国企业不断壮大 , 越来越多的企业选择走出国门 , 打开全球市场 , 海外云服务成为国内企业出海的重要桥梁。如果说产品与服务的迭代升级是帮助企业在海外攻城略地的重要力量 , 那么海外云服务的质量 , 则直接影响了海外用户使用其产品和服务时的体验。
ZAKER
6天前
微软Azure防火墙高端版正式上市
微软Azure防火墙高端版正式上市
微软正式推出高端版Azure防火墙,可用于支付与医疗保健等,高度敏感且受监管的环境,提供高端威胁防护,包括TLS探查、IDPS和URL过滤等功能。高端版Azure防火墙价格较标准版高出40%,资料处理费用则相同。
十轮网
7天前
Azure|一条数字化供应链的诞生:看杉数科技的上下求索
Azure|一条数字化供应链的诞生:看杉数科技的上下求索
随着市场经济的繁荣发展,现代同类企业竞争已经进入到了白热化阶段,从传统的获客竞争逐渐演变成供应链的竞争,这一点在快消行业表现尤甚。年轻一代消费者越来越追求消费行为中的个性化表达,市场需求变得复杂多样,这致使企业产品生命周期的大大缩短。伴随着电商的兴起,以及新零售带来的多元渠道融合和信息互通,对于供应链管理提出了更高的要求和挑战。企业应当抓住产供销协同发展的机遇,提升供应链敏捷性和供应链快速决策能力,可以让企业在新的消费时代占得先机。
Microsoft云科技
2021-07-22
专家解析|全面了解Azure磁盘快照功能
专家解析|全面了解Azure磁盘快照功能
游览高山河川,随手按下快门,壮丽美景尽收囊中,随时都可以拿出来回味。而使用Azure的过程中,需要时按下“快门”,你的磁盘数据也能得到充分保护,并且可以在必要时用这样的快照将磁盘数据恢复为之前的状态。Azure磁盘快照就是这样一种方便的技术,甚至成为了Azure备份等数据保护服务的基础。不同于传统本地存储快照基于指针的方式,Azure磁盘快照更像是对磁盘有效数据创建的克隆,使用方式也有较大差异。
Microsoft云科技
2021-07-22
微软在Azure免费提供Windows Server 2008R2和2012安全更新服务
微软在Azure免费提供Windows Server 2008R2和2012安全更新服务
微软宣布扩展Windows Server 2012和2012 R2,还有SQL Server 2012的安全性更新,在Azure上免费提供延长更新的服务,而在本地端执行这些版本的Windows Server和SQL Server,则需要付费来扩展更新。而对于需要更多时间升级Windows Server和SQL Server 2008R2的用户,现在微软也在Azure上,提供额外1年免费安全更新服务。
十轮网
2021-07-21
扫描关注获取更多 微软云 的相关信息
出海就选亚马逊云科技的七大理由
服务商推荐 更多 >
北京蓝色光标数字传媒科技有限公司
蓝瀚互动
专注于为出海企业提供全套价值链服务,包括海外市场洞察、品牌营销策略、创意设计、广告优化、 账户管理、全球KOL营销、粉丝页运营等一站式整合营销服务,满足出海广告主的多元化需求。
推广
百度国际MediaGo
百度国际MediaGo
百度国际是百度极具战略意义的海外业务发展部门,拥有超过10年的出海经验。旗下出海营销平台MediaGo旨在为全球广告主提供营销整合方案。成立以来,MediaGo不断进化,在磨炼一站式海外营销服务能力的同时,连接Snapchat、Pinterest、Reddit等优质海外平台,成为连接广告主与价值洼地的桥梁。
本地化变现推广
北京易掌云峰科技有限公司
环信即时通讯云
环信,国内领先的即时通讯、在线客服、智能客服机器人提供商。
云服务
iGlobe Advisory Inc.
爱个萝卜本地化 iGlobe
爱个萝卜总部位于加拿大温哥华,为游戏出海提供所有主要语言的母语级本地化翻译,并由专业项目经理为您保驾护航。并可向全球游戏伙伴提供全方位服务,包括目标市场开拓策略,以及各国本地化运营项目监督。
本地化
厦门比朋科技股份有限公司
比朋科技股份
云服务,软件服务,定制开发,智超,档案馆系统
云服务外包源码
福建博士通信息有限责任公司
博士通云通讯
福建博士通信息有限责任公司专注于融合短彩信运营、互联网精准投放、语音服务、流量营销、物联网卡等多种专业的通讯能力,为金融、互联网、汽车、物流、教育、游戏、公共服务等多个领域机构提供专业的融合通讯服务和系统平台定制化开发。公司成立于1999年,总部坐落于福州,在北京、上海、深圳、成都、山东等地建立了分公司和办事处。
云服务
扫码登录
打开扫一扫, 关注公众号后即可登录/注册
加载中
二维码已失效 请重试
刷新
账号登录/注册
小程序
公众号
商务合作
投稿采访
出海管家