RGW概要分析

RGW简介

Ceph对象存储又名RGW,提供REST风格的API接口,兼容S3swiftRGW简单来说就是一个语义转换层,以s3接口来说,就是将s3语义的数据读写转换成rados集群中对象的读写。比方说上传文件,RGW主要做的事情就是将文件对象拆分成多个rados集群对象保存下来(当然不止这么简单),下载文件再将多个rados集群对象读取上来返回给用户。所以用户看到的一个文件映射到rados集群中可能是1N的关系。

RGW设计

对外来说用户通过发送http请求到apacheapachefastcgi moduleradosgw内部的fastcgi接收端,然后radosgw通过librados将数据存储在rados集群中。业务流向图如下:160346_0PwW_2257799.png

 

RGW内部主要分为3大部分:

1、  rgw-http:解析接收到的restful请求,包括S3SWIFTADMIN Ops

2、  librgw:将协议语义转换为对象存储的语义,最终将元数据或数据存储在rados集群中去。这里面细分的话又有文件数据,桶元数据,用户信息数据,计量数据,配额信息数据,日志等

3、  后台:rgw有多个后台处理或刷数据线程。包括gc(垃圾数据回收),usage(计量数据),renewlog(远程复制data日志)等。

RGW主流程线程模型

Rgw的主要线程模型使用的是ceph通用的线程池管理,主线程用于接收fastcgi接收到的请求,然后将请求丢队列,具体的请求都是由threadPoolworker线程来处理

160431_qlsD_2257799.png

转载于:https://my.oschina.net/u/2257799/blog/472546

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值