美文网首页
ceph 之 RGW 基础介绍

ceph 之 RGW 基础介绍

作者: wayyyy | 来源:发表于2023-05-07 00:10 被阅读0次

对象存储基本上已经成为互联网行业非结构化数据存储的底座。

元数据/数据布局

Ceph RGW 将数据组织分为3种类型:Metadata,bucket index 和 data

Metadata

包含user,bucket,bucket.instance,OTP 等信息。

# radosgw-admin metadata list
bucket index

对象的索引。

data

对象的数据,每个RGW对象(rgw-object)都会保存在一个或者多个RADOS对象(system-object)里,通常以下列3种形式进行组织:
RADOS对象Data
RADOS对象扩展属性 xattr
RADOS 对象OMAP


RGW 架构

Ceph 本身采用分层架构,RADOS 层中的OSD进程负责切片后对对象数据和元数据的持久化存储,作为RADOS层客户端存在的RGW进程负责处理对象存储的业务逻辑。其逻辑有明显的分层架构设计思路,涉及的层有以下几个:

  1. 负责解析和验证HTTP(s) 请求的协议解析曾
  2. 负责对解析后的对象存储业务请求进行处理的业务逻辑层
  3. 负责对对象存储数据和元数据进行持久化存取的数据持久化层
协议解析层

协议解析层本质上就是HTTP服务器的实现,RGW提供了灵活的插件式HTTP服务器实现,具备以下特性:

  • 最早实现的兼容FCGI协议的 FCGI HTTP 服务器前端
  • 基于C++ HTTP服务端库 civerweb 实现的服务器前端
  • 基于C++ boost HTTP 标准库 beast 实现的服务器前端
业务逻辑层
数据持久化层
IO 路径

RGW 请求处理经历了3个阶段:

image.png

对于上述流程处理,RGW 中有3个重要的数据结构:

  • RGWFrontend
  • RGWRESTMgr
  • RGWHandler

相关文章

网友评论

      本文标题:ceph 之 RGW 基础介绍

      本文链接:https://www.haomeiwen.com/subject/uzaqsdtx.html