对象存储 - Swift

提供对象存储服务的Swift介绍

1.什么是Swift?

Swift 是 提供高可用分布式对象存储的服务,为nova组件提供虚拟机镜像存储服务。
在数据冗余方面,无需采用read【?】通过在软件层面,引入一致性散列技术和数据冗余,牺牲一定程度的数据一致性,来达到高可用和可伸缩性。
支持多租户模式下,容器和对象读写操作,适用于互联网应用场景下非结构化的数据存储,比如,华为云盘等。

2. Swift中的常用术语【1】

  • Account:用户定义的管理存储区域
  • Container:存储隔间,类似于子文件夹或者目录
  • Object:包含了基本的存储实体和它自身的元数据
  • Ring:环,记录了磁盘上存储的实体名称和物理位置的映射关系。包括Account环、Container环和Object环。

以上术语之间的关系:

结构关系

首先,可以创建多个account,每个account里可以创建多个容器container,每个container下可以创建多个object。【container 之间不能相互嵌套】

Swift的介绍
Swift在物理结构上往往会存储对象的多个副本,通常按照物理位置的特点,将对象拷贝到不同的物理位置的特点,将对象拷贝到不同的物理位置上,来保证数据的可靠性。

2.5. 常用术语2

  • Region:地域,从地理位置上划分的一个概念。(往往代表不同城市的地理位置,是从灾备方面考虑的概念)
  • Zone:可用区,按照独立的供网、供电、空调等基础设施划分(不同的可用区可能是同一个城市的数据中心机房,也可能是同一个数据中心,不同供电供水网路接入等等隔离系统)
  • Node:节点,代表了一台存储服务器
  • Disk:磁盘,代表着物理服务器上的存储设备
  • Cluster:群集,为冗余考虑而设计的架构

以上术语之间的关系:

包含关系

可以根据不同的物理位置,有不同的Region,不同的region代表两个不同的城市,然后在同一个region下,为冗余的考虑,设置了多个可用区,zone。每一个可用区可以有不同的存储节点,node;在更大的架构上,两个region可以构成一个cluster。

3. Swift的架构

Swift架构图

首先,用户提出一个对象存储服务的申请,由Swift的API接受和处理,收到之后,先去找 Keystone 认证节点,对用户的身份进行认证。
认证通过后,将请求提交给名称为Swift Proxy的组件,Swift Proxy是Swift 的代理,由Swift Proxy来确定究竟应该将存储对象放在哪一个满足存储要求的存储节点上。最终将对象存储到指定的存储节点上即可。最终将返回结果返回给用户。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本文遵循「知识共享许可协议 CC-BY-NC-SA 4.0 International」,未经作者书面许可,不允许...
    laiwei阅读 14,101评论 1 24
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,754评论 4 61
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,188评论 19 139
  • 下午看到“阿何有话说”推出一篇文章,忍不住点开来。嗯,我就是那个不愿加班的人,不过早不是年轻人了,是40多的中年人...
    静皈之阅读 1,837评论 0 0
  • (1) 打不开梦的斑斓 守不住心的期盼 独对星空傻傻发呆 原来一粒粒全是依恋 (2) 我承认,我是个脆弱的孩子。 ...
    蜗牛飞走了阅读 3,081评论 0 1

友情链接更多精彩内容