Swift的认证

Swift通过Proxy Server接收用户RESTful API请求时,首先需要通过认证服务对用户的身份进行认证,认证通过后,Proxy Server才会真正地处理用户请求并响应。Keystone的原理比较简单,整个系统提供全局唯一的Keystone服务,客户端在发送HTTP请求之前,首先需要...

2018-03-31 19:54:51

阅读数:187

评论数:0

Swift中的Object Server代码解读

Paste Deploy最终使用swift.obj.server模块的app_factory()函数加载Object Server的WSGI Application,即swift.obj.server.ObjectController以Object DELETE操作为例:Object DELETE...

2018-03-31 19:28:56

阅读数:51

评论数:0

Swift中的Container Server代码解读

类似于Account Server,Paste Deploy最终将使用swift.container.server模块的app_factory()函数加载Container Server的WSGI Application,即swift.account.server.ContainerControl...

2018-03-31 19:23:42

阅读数:63

评论数:0

Swift中的Account Server代码解读

用户的HTTP请求被AccountController、ContainerController与ObjectController分别转发给存储节点上的Account Server、Container Server和Object Server,这三个服务与Proxy Server一样也是WSGI S...

2018-03-31 19:21:11

阅读数:106

评论数:0

Swift的WSGI Application到对应的Controller

proxy-server将根据请求中的信息调用相应Controller中的数据进行处理。# /swift/proxy/server.py class Application(object): def __call__(self, env, start_response): ...

2018-03-30 18:54:31

阅读数:52

评论数:0

Swift的HTTP请求到WSGI Application

Proxy Server的入口是bin/swift-proxy-server文件import sys from swift.common.utils import parse_options from swift.common.wsgi import run_wsgi if __name__ ==...

2018-03-30 18:51:54

阅读数:54

评论数:0

Swift API简介

Swift以RESTful API的形式提供自己的API,Proxy Server承担了类似nova-api服务角色,负责接受并转发用户的HTTP请求。Swift API主要提供如下功能:1 存储对象,对象的个数并没有限制。单个对象的大小默认值是5GB,这个最大值用户可以自行配置。2 对于超大值对...

2018-03-30 18:49:04

阅读数:190

评论数:0

Swift源码解析之分配Partition

执行swift-ring-build的rebalance命令,会首先调用下面函数    def rebalance(): def get_seed(index): try: return argv[index] ...

2018-03-30 18:47:18

阅读数:73

评论数:0

Swift源码解析之添加设备到Ring

执行swift-ring-builder的add命令添加设备到Ring中,与create命令类似,add命令由swift.cli.ringbuilder.Commands类add()函数完成# swift/cli/ringbuilder.py def add(): #_pa...

2018-03-30 18:43:08

阅读数:57

评论数:0

Swift源码解析之创建Ring文件

通过setup.cfg文件可以知道swift-ring-builder工具的源码入口位于/bin/swift-ring-builder脚本,这个脚本仅仅是对swift.cli.ringbuilder模块的封装,直接调用了swift.cli.ringbuilder中的main函数。def main(...

2018-03-30 18:39:07

阅读数:46

评论数:0

构建Ring的过程

一 介绍Ring是swift中非常核心的组件,它决定着数据如何在集群中分布。Swift根据设置的partition_power决定集群中的分区数量(2的partition_power次方),并根据一致性哈希算法将分区分配到不同的node上,并将数据分布到对应的分区上。二 新的Ring创建的过程1 ...

2018-03-29 22:04:51

阅读数:119

评论数:0

swift-ring-builder命令大全

一 swift-ring-builder 命令swift-ring-builder中包含多种命令:add create list_parts rebalance remove search set_info set_min_part_hours set_weight set_replicas va...

2018-03-29 21:56:13

阅读数:127

评论数:0

Swift中Ring的数据结构

Swift中所谓的Ring就是基于一致性Hash所构建的环。Ring包括以下三种重要的数据结构。一 相关数据结构说明1 设备表设备表中的每一项都对应一个Device,其中记录了该Device的具体位置信息,包括Device ID,所在Region,Zone,IP地址以及端口号,以及用户为该Devi...

2018-03-29 21:50:37

阅读数:132

评论数:0

Swift中一致性Hash

一 背景Swift通过引入Ring来实现对物理节点的管理,包括记录对象与物理存储位置间的映射关系,物理节点的添加和删除等。针对决定某个对象存储在哪个节点上之类的问题,最常规的做法就是采用Hash算法,如果存储节点的数量固定,普通的Hash算法就能满足要求,但是因为Swift通过增减存储节点来实现无...

2018-03-29 21:38:34

阅读数:70

评论数:0

Paste实战

一 缘起当看到OpenStack的api-paste.ini中大量出现的composite,pipline,filter,app之后,顿时觉得不淡定了,这些都是啥,是啥!在详细研究一番之后,却发现了意外的惊喜,好似发现了另一个世界,也明白了OpenStack使用这套东西却有他的高明之处。本篇介绍的...

2018-03-29 21:30:59

阅读数:63

评论数:0

Nova虚拟机迁移概念与实战

一 基本概念Openstack支持两种类型的虚拟机迁移冷迁移(Cold migration):冷迁移也叫静态迁移。在迁移过程中虚拟机必须关机,用户也不能访问虚拟机。热迁移(Host or live migreation):热迁移也叫动态迁移。在迁移的过程中虚拟机仍旧工作,用户可以继续使用虚拟机。虚...

2018-03-28 21:13:01

阅读数:109

评论数:0

Nova冷迁移与Resize

一 介绍迁移是指将虚拟机从一个计算节点迁移到另外一个节点上。冷迁移是相对热迁移而言,区别在于冷迁移过程中虚拟机是关机或处于不可用状态,而热迁移则需要保证虚拟机时刻运行。Resize则是根据需求调整虚拟机的计算能力和资源。Resize和冷迁移的工作流程相同,区别只是Resize时必须保持新的Flav...

2018-03-28 20:39:21

阅读数:177

评论数:0

Nova热迁移源码解析

一 介绍热迁移是指虚拟机正常工作的情况下从一个计算节点迁移到另外的节点上,如下图所示:host1与host2共享存储Storage,虚拟机VM1从host1主机迁移到host2主机,在业务不中断的条件下将虚拟机内存复制到host2主机中,镜像的存储路径并没有发生改变。二 热迁移特点虚拟机的热迁移在...

2018-03-28 20:14:40

阅读数:94

评论数:0

Swift源码分析

一 Swift源码结构[root@localhost swift]# tree -L 1 bin etc swift ├── account ├── cli ├── common ├── container ├── __init__.py ├── __init__.pyc ├── __init__...

2018-03-28 19:45:50

阅读数:136

评论数:1

WSGI介绍

RESTful只是设计风格而不是标准,Web服务中通常使用基于HTTP的符合RESTful风格的API。而WSGI(Web Server Gateway Interface,Web服务器网关接口)则是Python语言所定义Web服务器和Web应用程序或框架之间的通用接口标准。从名称上看,WSGI是...

2018-03-28 19:18:38

阅读数:52

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭