热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

OpenStackswift架构介绍

用openoffice画了个这么一个草图。Swift是一个存多份,可扩展的分布式对象存储系统。可扩展到PB级。没有主控节点。支持REST接口。提供类似S3的云存储服务。Swift的同类产品,这个没把握,不知到luster,ceph算不算。bin/目录下,工具代码:5685totalswif
openstack <wbr>swift <wbr>典型架构, <wbr> <wbr> <wbr>和openstack <wbr>swift <wbr>简要说明

用openoffice画了个这么一个草图。

Swift是一个存多份,可扩展的分布式对象存储系统。可扩展到PB级。没有主控节点。支持REST接口。提供类似S3的云存储服务。

Swift的同类产品,这个没把握,不知到luster,ceph算不算。

bin/目录下,工具代码:5685 total

swift/目录下,核心代码: 15880 total

test/目录下,测试代码: 23127 total

上述代码使用Python编写。

Swift主要有Rackspace开发,现在有Cloudscaling和Intermap也使用了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用来存放立体图片。

Swift使用了Eventlet、Webob、Paste.deploy等库。这些库的引入在对代码阅读,不会造成大的障碍。

Swift的典型架构:

 

上图中的圆柱体标示为Storage服务。Storage服务节点上面运行的组件是Account Server, Container Server, Object Server。这三个服务是独立的,都监听一个特点的端口,使用Http来通讯。认证(Auth)服务和Proxy服务也是监听一个端口,使用Http来通讯。

Zone是一个逻辑上的区域,Zone和Zone之间要尽量做到互不影响的,例如说可以是不同磁盘,不同的服务器,不同的机柜,不同的交换机,甚至在不同的数据中心。

Swift集群内数据的分配、一致性等的核心组件是Ring。Ring的代码并不多,一个build.py和一个ring.py。build.py负责create和reblance功能。对Ring的设计目前知道了它实现的方法,但还不能很明确的理解为什么要这样实现(网上有一个文档剖析了Ring的实现,还没有看)。

Swift的各个组件模块之间有独立性,可以方便对代码进行分析和测试。

上层开发者指的是调用Swift REST接口进行编程的人员。Swift面向开发者提供了一个REST接口文档,可参考这个文档写程序。按照这个文档,我成功写了一个简单的创建、上传和下载的网络应用实例。根据Openstack站点上描述,Swift和Rackspace的云文件存储的接口是兼容的,可以使用Rackspacs提供的经过特定语言封装REST之后的编程接口,这样对程序员会更友好。

Rackspace用Swift已经有多年时间。如过我们使用Swift来提供存储服务。现有的可利用资源有完全开源的代码,规范的代码注释和风格,现有的系统部署和管理文档,Rackspace公布的一些简单的注意事项, 现有的面向开发者的REST接口文档,现有的多种语言封装之后的库。

没有Swift的性能数据,


推荐阅读
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 本文详细介绍 Go+ 编程语言中的上下文处理机制,涵盖其基本概念、关键方法及应用场景。Go+ 是一门结合了 Go 的高效工程开发特性和 Python 数据科学功能的编程语言。 ... [详细]
  • 计算机网络复习:第五章 网络层控制平面
    本文探讨了网络层的控制平面,包括转发和路由选择的基本原理。转发在数据平面上实现,通过配置路由器中的转发表完成;而路由选择则在控制平面上进行,涉及路由器中路由表的配置与更新。此外,文章还介绍了ICMP协议、两种控制平面的实现方法、路由选择算法及其分类等内容。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 在哈佛大学商学院举行的Cyberposium大会上,专家们深入探讨了开源软件的崛起及其对企业市场的影响。会议指出,开源软件不仅为企业提供了新的增长机会,还促进了软件质量的提升和创新。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 离线环境下的Python及其第三方库安装指南
    在项目开发中,有时会遇到电脑只能连接内网或完全无法联网的情况。本文将详细介绍如何在这种环境下安装Python及其所需的第三方库,确保开发工作的顺利进行。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 本文探讨了2012年4月期间,淘宝在技术架构上的关键数据和发展历程。涵盖了从早期PHP到Java的转型,以及在分布式计算、存储和网络流量管理方面的创新。 ... [详细]
  • 云计算的优势与应用场景
    本文详细探讨了云计算为企业和个人带来的多种优势,包括成本节约、安全性提升、灵活性增强等。同时介绍了云计算的五大核心特点,并结合实际案例进行分析。 ... [详细]
  • 全面解析运维监控:白盒与黑盒监控及四大黄金指标
    本文深入探讨了白盒和黑盒监控的概念,以及它们在系统监控中的应用。通过详细分析基础监控和业务监控的不同采集方法,结合四个黄金指标的解读,帮助读者更好地理解和实施有效的监控策略。 ... [详细]
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
  • iOS 开发技巧:TabBarController 自定义与本地通知设置
    本文介绍了如何在 iOS 中自定义 TabBarController 的背景颜色和选中项的颜色,以及如何使用本地通知设置应用程序图标上的提醒个数。通过这些技巧,可以提升应用的用户体验。 ... [详细]
author-avatar
mobiledu2502908907
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有