Swift
HeyManLeader
这个作者很懒,什么都没留下…
展开
-
Swift Proxy 调用流程(源码剖析)
Swift启用WSGI服务的事件循环队列pipeline: catch_errors, proxy-logging, cache, authtoken, keystone, (slo), proxy-server。通过直proxy-server的服务入口点进行,调用相关的方法实现请求响应。 proxy-server服务入口点(/swift-grizzly-eol/swift/proxy/se原创 2016-07-19 15:38:03 · 2201 阅读 · 0 评论 -
Amazon S3和Swift鉴权机制分析
基于Base64编码的HTTP Basic Authentication由于安全问题,已经不再广泛使用了。在云存储中,数据的安全性一直被广泛关注。亚马逊的AWS S3和Openstack Swift分别采取了不同的算法来对每一个HTTP请求进行鉴权。以下是二者的鉴权过程:一、AWS S3的HTTP请求鉴权流程 AWS采取的鉴权算法类似于HTTP基本认证。我们知道Base64只是原创 2016-07-28 23:54:09 · 5735 阅读 · 0 评论 -
Swift支持Amazon S3的机制及优化
默认的Keystone安装后并不支持S3,需要修改Keystone的PasteDeploy配置文件,在ec2_extension之后加入s3_extension中间件。首先还需要定义该中间件:1).在/etc/keystone/keystone.conf文件中增加如下配置:[filter:s3_extension]paste.filter_factory = keystone.cont原创 2016-07-28 19:15:26 · 3235 阅读 · 0 评论 -
Swift 存储目录
在Storage node上运行着Linux系统并使用了XFS文件系统,逻辑上使用一致性哈希算法将固定总数的partition映射到每个Storage node上,每个Data也使用同样的哈希算法映射到Partition上,其层次结构如下图所示:Figure1:Stoage node hierachy 以我们的一台storage node原创 2016-07-17 01:56:11 · 3906 阅读 · 0 评论 -
Openstack Swift 原理、架构与API介绍
1 概述 OpenStack Swift 开源项目提供了弹性可伸缩、高可用的分布式对象存储服务,适合存储大规模非结构化数据。本文将深入介绍 Swift 的基本设计原理、对称式的系统架构和 RESTful API。 OpenStack Object Storage (Swift)是OpenStack开源云计算项目的子项目之一。Swift的目的是使用普通硬件来构建冗原创 2016-07-15 22:27:27 · 10050 阅读 · 0 评论 -
Swift build(.build)和ring(.gz)的数据结构和文件的持久化机制
Ring的数据结构设备表(devs):将所有Device编号,设备表中的每一项对应一个Device,其中记录了Device的具体位置信息,包括Device Name, Device ID, IP, Port, Weight, Region和Zone等信息移位值(part_shift):表示Hash之后得出的Key进行移位的位数e.g. 假设有65536个node(2^16),有原创 2016-07-19 17:52:10 · 793 阅读 · 0 评论 -
Swift API和Command
Restful API使用描述 使用限制 Account(账户) Container(容器) Object(对象) metadata(元数据)元数据(metadata)的总个数不能大于90个,且所有元数据总大小不能超过4KB元数据名字长度不能大于128个字节元数据值的长度不能大于256个字节对象最大不能超过5G,超过则需要分割后在上传对象名字的总长度不能超过1原创 2016-07-19 16:33:28 · 1539 阅读 · 0 评论