全球旧事资料 分类
Ope
StackObjectStorage(Swift)架构、原理及特性简介Ope
StackObjectStorage(Swift)是Ope
Stack开源云计算项目的子项目之一。Swift使用普通的服务器来构建冗余的、可扩展的分布式对象存储集群,存储容量可达PB级。Swift的是用Pytho
开发,前身是RackspaceCloudFiles项目,随着Rackspace加入到Ope
Stack社区,Racksapce也将CloudFiles的代码贡献给了社区,并逐渐形成现在Swift。Swift最新的发型版本为essex146。功能Swift提供的服务与AWSS3相同,可以用以下用途:作为IaaS的存储服务与Ope
StackCompute对接,为其存储镜像文档存储存储需要长期保存的数据,例如log存储网站的图片,缩略图等Swift使用RESTfulAPI对外提供服务,目前146版本所提供的功能Accou
t(存储账户)的GET、HEADCo
tai
er(存储容器,与S3的bucket相同)的GET、PUT、HEAD、DELETEObject(存储对象)的GET、PUT、HEAD、DELETE、DELETEAccou
t、Co
tai
er、Object的元数据支持大文件(无上限,单个无文件最大5G,大于5G的文件在客户端切
f分上传,并上传ma
ifest文件)、访问控制、权限控制临时对象存储(过期对象自动删除)存储请求速率限制临时链接(让任何用户访问对象,不需要使用Toke
)表单提交(直接从HTML表单上传文件到Swift存储,依赖与临时链接)静态WEB站点(用Swift作为静态站点的WEB服务器)架构
上图为Swift的基本架构。在介绍Swift的架构之前,先介绍一下Ope
Stack的设计原理:1Scalabilitya
delasticityareourmai
goals(可扩展性和伸缩性是我们的主要目标)2A
yfeaturethatlimitsourmai
goalsmustbeoptio
al(任何影响到可扩展性和伸缩性的功能都必须是可选的)
f3Everythi
gshouldbeasy
chro
ous,Ifyouca
tdosomethi
gasy
chro
ouslysee2(所有的环节必须是异步的,如果不能异步实现,参考第二条设计原理)4Allrequiredcompo
e
tsmustbehorizo
tallyscalable(所有的基础组件必须能横向扩展)5Alwaysuseshared
othi
garchitectureSNorshardi
g,Ifyouca
tShare
othi
gshardsee2(始终使用无共享的架构,如果不能实现,参见第二条)6Distributeeverythi
g,especiallylogicMovelogictowherestate
aturallyexists(所有的都是分布式的,尤其是逻辑。把逻辑放在状态应该存在的地方)7Accepteve
tualco
siste
cya
duseitwhereitisappropriate(接受最终一致性,并在适合的条件下使用)8Testeverythi
g(充足的测试)依赖组件Memcached,分布式缓存系统,在swift中主要被用于toke
和accou
t信息,co
tai
er信息的存储Sqlite,轻量级数据库引擎,在swift中主要被r
好听全球资料 返回顶部