转 - openstack swift 典型架构, 和openstack swift 简要说明
来源:互联网 发布:艾司唑仑片淘宝有卖的 编辑:程序博客网 时间:2024/05/21 01:29
原址如下:
http://blog.sina.com.cn/s/blog_6b98772b0100pk7p.html
openstack swift 典型架构, 和openstack swift 简要说明
用openoffice画了个这么一个草图。
2 Swift是什么和Swift有哪些同类产品
Swift是一个存多份,可扩展的分布式对象存储系统。可扩展到PB级。没有主控节点。支持REST接口。提供类似S3的云存储服务。
Swift的同类产品,这个没把握,不知到luster,ceph算不算。
3 Swift当前的代码量和开发状态
bin/目录下,工具代码:5685 total
swift/目录下,核心代码:15880 total
test/目录下,测试代码: 23127 total
上述代码使用Python编写。
Swift主要有Rackspace开发,现在有Cloudscaling和Intermap也使用了Swift。
4 Swift可用场景和目前在使用的公司
Here are some good use cases for Openstack Object Storage:
StoRing media libraries (photos, music, videos, etc.)
Archiving video surveillance files
Archiving phone call audio recordings
Archiving compressed log files
Archiving backups (<5GB each object)
StoRing and loading of OS Images, etc.
StoRing file populations that grow continuously on a practically infinite basis.
StoRing small files (<50 KB). Openstack Object Storage is great at this.
StoRing billions of files.
StoRing Petabytes (millions of Gigabytes) of data.
当前把使用Swift的公司有Cloudscaling和Intermap。在中国没有人开始尝试使用Swift。Cloudscaling提供云计算和云存储解决方案,Intermap用来存放立体图片。
5 Swift的研究难度和Swift代码结构
Swift使用了Eventlet、Webob、Paste.deploy等库。这些库的引入在对代码阅读,不会造成大的障碍。
Swift的典型架构:
上图中的圆柱体标示为Storage服务。Storage服务节点上面运行的组件是AccountServer,ContainerServer,ObjectServer。这三个服务是独立的,都监听一个特点的端口,使用Http来通讯。认证(Auth)服务和Proxy服务也是监听一个端口,使用Http来通讯。
Zone是一个逻辑上的区域,Zone和Zone之间要尽量做到互不影响的,例如说可以是不同磁盘,不同的服务器,不同的机柜,不同的交换机,甚至在不同的数据中心。
Swift集群内数据的分配、一致性等的核心组件是Ring。Ring的代码并不多,一个build.py和一个ring.py。build.py负责create和reblance功能。对Ring的设计目前知道了它实现的方法,但还不能很明确的理解为什么要这样实现(网上有一个文档剖析了Ring的实现,还没有看)。
Swift的各个组件模块之间有独立性,可以方便对代码进行分析和测试。
6 Swift对上层开发者的友好性
上层开发者指的是调用Swift REST接口进行编程的人员。Swift面向开发者提供了一个REST接口文档,可参考这个文档写程序。按照这个文档,我成功写了一个简单的创建、上传和下载的网络应用实例。根据Openstack站点上描述,Swift和Rackspace的云文件存储的接口是兼容的,可以使用Rackspacs提供的经过特定语言封装REST之后的编程接口,这样对程序员会更友好。
7我们使用Swift的技术上的可行性
Rackspace用Swift已经有多年时间。如过我们使用Swift来提供存储服务。现有的可利用资源有完全开源的代码,规范的代码注释和风格,现有的系统部署和管理文档,Rackspace公布的一些简单的注意事项, 现有的面向开发者的REST接口文档,现有的多种语言封装之后的库。
8已知的未知问题
没有Swift的性能数据,
- 转 - openstack swift 典型架构, 和openstack swift 简要说明
- openstack swift
- OpenStack: Storage 组件 Swift 和 Cinder(转)
- OpenStack Swift源码导读:业务整体架构和Proxy进程
- OpenStack对象存储:Swift架构详解
- OpenStack对象存储:Swift架构详解
- Openstack Swift 原理、架构与 API 介绍
- Openstack Swift 原理、架构与 API 介绍
- openstack swift系列-----数据模型及架构(1)
- Openstack Swift 原理、架构与 API 介绍
- Openstack Swift 原理、架构与API介绍
- Openstack Swift 原理、架构与 API 介绍
- Openstack Swift 原理、架构与 API 介绍
- Openstack Swift 原理、架构与 API 介绍
- Openstack Cell简要说明
- [openstack swift] Swift Architectural Overview
- [openstack swift]0 swift介绍
- [openstack swift]0 swift介绍
- 转 - OpenStack架构预览
- 两种SVN开发模式
- 好吧,我笑了
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例
- 推荐:SmartPen
- 转 - openstack swift 典型架构, 和openstack swift 简要说明
- Poj 3411 Paid Roads
- 关于学习误区的反思
- 今年最后一天上班
- 网络连接的返回值解说
- 2012/1/21 《C++ Primer Plus》第八章:函数探幽 学习笔记
- Android 导入android源码有错,R.java文件不能自动生成解决方法
- Poj 1724 ROADS
- shell使用点滴