AmazonS3架构分析--精选.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Amazon S3 存储系统结构 Eucalyptus是 Amazon AWS的开源实现,总体的架构跟实现都是根据 Amazon AWS来设计的,所以 Eucalyptus 的存储系统部分也不例外,下面是 AamzonS3存储系统实现的架构。 一、 存储形式 S3是基于桶 (Bucket)的存储系统,它把每个被存储的文件当做一个 Object, 被存储的 Object 被放到相应的 Bucket 中,如下所示: Storage Service Interface Bucket Bucket Metadata Metadata Access policy Access policy Object Object Object Metadata Metadata ... Metadata Data Data Data 1) Bucket 用户创建的 Bucket 的 BucketName必须是全局唯一的, 该名字可以由用户提 供,也可以由系统提供。创建的同时会设置 Bucket 的一些属性: MetaData:包含创建时间、 创建者标识、 该 Bucket 中所有 Objects 的总大小, 还包含有用户访问的历史信息等等。 Access Policy:设置了 Bucket 的访问权限,例如可以设置哪些用户可以访问, 是否具有读写权限等。 2) Object 在一个 Bucket 可以存放多个 Object,在 S3 系统中存储的 Object 是被序列化的, S3 系统并不能区分 Object 的类型,它可能是一个文本文件或者一个视频文件。 MeataData 里面存储的是 Object 创建时间、大小、文件类型等。另外只要用户能够访问 Object 的数据,就能够访问 MetaData 的权限。 S3系统中 Object 的 Identifier 有两种表示方法, key 和 locator。 Key Key在 Object 被创建的时候由用户给定,若用户未指定由系统分配, 要保证 key 在桶内部是唯一的, 不同的桶可以由相同的 key,如:有一个 Bucket 的标识为 0,存储了一个 Object 的 key 为 MyDocument/Email/( 注: key 可以是 string 类型或其他类型 ),那么用户就可以通过下面的地址来 访问 Object: 当然不能直接访问,用户还需要提供必要的验证信息,因为 Bucket 设置了访问权限,所以当一个访问到达时,首先有一个认证过程。 Locator locator 和 key 不同, locator 的分配必须是全局唯一的,而不是桶内唯一。通过 locator 访问 object 可以越过认证,所以性能上比 key 要好 (吞吐率、访问延迟等 ),但是正因为越过了认证,安全性并不好,所以一般在传输过程中要对 locator 进行加密传输。和上面 key 对应如下是一个 locator 例子: 这里 3859C89A208FDB5A就是 object 的 locator,它使一个 128 位 16 进制表示的数。 二、 存储系统架构 S3 的整体架构如下图所示: Storage Client ... Storage Client NetWork Web Service Platform NodePicker DFDD Storage Service Replicator coordinator KeyMap instance BitStore Node Replicator keymap DFDD DFDD DFDD 如上图所示, S3 存储架构主要是由 keymap+Bitstore 作为基本的存储功能, 然 后 coordinator 和 NodePicker 充当调度功能,然后 replicator 实现副本的功能, DFDD(discovery, failure,detection daemon )用来检测各个组件的运行状态, web service platform 使用来接收和处理客户端 client 的请求。 下面是多个数据中心部署: DataCenter NodePicker DFDD Storage Service Replicator coordinator KeyMap instance BitStore Replicator keymap Node DFDD DFDD DFDD NetWork DataCenter NodePicker DFDD DataCenter NodePicker DFDD Storage Service Replicator Storage Service Replicator coordinator co

文档评论(0)

136****9452 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档