Swift是OpenStack的子项目之一,也称为对象储存,适用于储存永久类型的静态数据,例如:虚拟机镜像文件、图片、存档备份等

  复制的三个副本如何联系在一起?

  让我们用一些具体场景和介绍一些组件,来描述副本如何联系在一块。

  Upload

  用户端调用Swift提供的REST API,PUT一个对象到一个已经存在的容器中。PUT http://swift.example.com/v1/account/container/new_object

  Cluster收到客户端的request,首先,系统将计算Data应当存放在哪个位置?根据Account name, Container name, Object name可以确定将要存放的区域(partition)。接着,开始在ring figures中查找对应的储存节点。然后,上传的data将被发送到各自对应的储存节点,在返回成功响应之前,至少需要成功写入三次,也就是说需要备份两份。接下来,容器数据库将异步更新

反映新的对象已经存在对应的节点。

  Download

  使用了一致的散列算法,partition名已经生成,在ring中查找将暴露出包含此partition的节点。接着,request将会到对应的储存节点进行对象提取,如果提取失败,request将会去别的副本节点进行提取data。

  Swift Cluster Architecture

  访问层传入API Request并且上传下载数据信息,是Object Storage System的重要组成部分,主要包括前段的负载均衡,SSL终端,认证server以及分布式运行的代理server。

Openstack之Swift架构(Cloud Storage)的更多相关文章

  1. 转-4年!我对OpenStack运维架构的总结

    4年!我对OpenStack运维架构的总结 原创: 徐超 云技术之家 今天 前言 应“云技术社区”北极熊之邀,写点东西.思来想去云计算范畴实在广泛,自然就聊点最近话题异常火热,让广大云计算从业者爱之深 ...

  2. google cloud storage products

    https://cloud.google.com/products/storage/ BigTable Cloud Bigtable 是 Google 面向大数据领域的 NoSQL 数据库服务.它也是 ...

  3. Getting Started(Google Cloud Storage Client Library)

    在运行下面的步骤之前,请确保: 1.你的项目已经激活了Google Cloud Storage和App Engine,包括已经创建了至少一个Cloud Storage bucket. 2.你已经下载了 ...

  4. Activating Google Cloud Storage

    先决条件 你需要下面的内容: 1.一个Google账户,比如来自Gmail.如果你没有,请在Google account signup site注册. 2.一个新的或已经存在的Google Devel ...

  5. Downloading the Google Cloud Storage Client Library

    Google Cloud Storage client是一个客户端库,与任何一个生产环境使用的App Engine版本都相互独立.如果你想使用App Engine Development server ...

  6. Java Client for Google Cloud Storage

    关于Google Cloud Storage Google Cloud Storage有益于大文件的存储与服务(serve).此外,Cloud Storage提供了对访问控制列表(ACLs)的使用,提 ...

  7. AngularJS Front-End App with Cloud Storage Tutorial Part 1: Building a Minimal App in Seven Steps

    原文 : http://www.codeproject.com/Articles/1027709/AngularJS-Front-End-App-with-Cloud-Storage-Tutoria ...

  8. OpenStack的Swift组件详解

    一:简介     一.背景 1. Swift 最初是由 Rackspace 公司开发的高可用分布式对象存储服务(Object  Storage Service),并于 2010 年贡献给 OpenSt ...

  9. 对OpenStack运维架构的总结(转)

    这里,仅从技术角度出发,谈谈OpenStack云平台在部署.架构和运维实施等方面的感想. 缘起,在2014年大二首次接触到OpenStack,当时国内外资料远没有当前这么丰富,为安装一个OpenSta ...

随机推荐

  1. leetcode:Search a 2D Matrix(数组,二分查找)

    Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...

  2. 2016MBA排名

    2016全球商学院100强 2016上半年度最受欢迎的十大MBA排名 网上评选出上年度最受欢迎的十大MBA排名,有你想要报考的院校吗?快来一睹这些MBA院校的风采,选择好适合自己的院校项目. 第1名 ...

  3. 浅谈配置chrome浏览器允许跨域操作的方法

    浅谈配置chrome浏览器允许跨域操作的方法 一:(Lying人生感悟.可忽略) 最近有一天,对着镜子,发现满脸疲惫.脸色蜡黄.头发蓬松.眼神空洞,于是痛诉着说生活的不如意,工作没激情,工资不高,一个 ...

  4. 对于fmri的设计矩阵构造的一个很直观的解释-by 西南大学xulei教授

    本程序意在解释这样几个问题:完整版代码在本文的最后. 1.实验的设计如何转换成设计矩阵? 2.设计矩阵的每列表示一个刺激条件,如何确定它们? 3.如何根据设计矩阵和每个体素的信号求得该体素对刺激的敏感 ...

  5. Annotation(jdk5.0注解)复习(转自http://3w_cnblogs_com/pepcod/)

    package annotation.test; import java.lang.annotation.ElementType; import java.lang.annotation.Retent ...

  6. ecshop首页调用评论及图片

    1.在library文件夹中建立一个名为index_comment.lbi文件 2.输入以下代码 <meta http-equiv="Content-Type" conten ...

  7. MySQL server has gone away 的解决方法

    原文引用至:http://www.jb51.net/article/23781.htm,感谢! 可能原因:1.发送的SQL语句太长,以致超过了max_allowed_packet的大小,如果是这种原因 ...

  8. Oracle buffer cache与相关的latch等待事件

    buffer cache与相关的latch等待事件 1.buffer cache 2.latch:cache buffers lru chain 3.latch:cache buffers chain ...

  9. 一天一点MySQL复习——获取数据库系统时间、变量赋值、变量比较

    一.SQL获取系统时间 mysql> select now() from dual; +---------------------+ | now() | +------------------- ...

  10. cocos2dc-x解决中文乱码

    中文乱码: 方法一: 选中有中文的那个cpp,点文件另存为,在保存这里竟然有个小箭头 点之,再点编码保存 再选这个编码 这个cpp就UTF-8化了,然后中文就正常了. 但是发现:但字符串字符数为奇数时 ...