FastCFS核心组件及访问方式

Posted Huazie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FastCFS核心组件及访问方式相关的知识,希望对你有一定的参考价值。

FastCFS核心组件及访问方式

本篇文章转载于 FastCFS 作者 余庆 大佬的 FastDFS分享与交流 公众号。

FastCFS 是一款可以跑数据库的轻量级分布式存储系统,她为数据库和云平台提供后端存储,保证数据强一致性,解决大容量数据存储问题,做到了高可靠、高可用、高性能以及高扩展性。

FastCFS 服务端两个核心组件是 FastStoreFastDIR

FastStore

FastStore 是基于块存储的分布式数据存储服务,其文件 block 大小为 4MB,文件 inode + 文件偏移量 (offset)作为 blockkey,对应的文件内容为 valueFastStore 本质是一个分布式 Key-Value 系统。

FastDIR

FastDIR 是高性能分布式目录服务,管理文件元数据,支持命名空间。命名空间用于隔离不同应用的文件目录结构,各个应用可以使用自己专属命名空间。若多个应用之间要共享文件目录结构,只需使用相同的命名空间即可。

三层访问方式

FastCFS提供了三层访问方式(接口),如下图所示:

最上层

最上层 是标准文件接口和对象存储接口,其中基于 FUSE 的标准文件接口已经实现。可以使用 FastCFSfused 模块 mount 到本地,为数据库、虚拟机以及其他使用标准文件接口的应用提供存储。

中间层

中间层是 FastCFS 提供的文件操作 API,提供了 fcfs_api_openfcfs_api_readfcfs_api_write 等函数(对应标准的 openreadwrite 等)。使用此类接口,可以在用户态直接访问 FastCFS 分布式文件系统。在追求极致性能的场景,可以使用此类接口,比如数据库厂商、分布式计算平台厂商等等。

最下层

最下层的 FastStore API 提供了文件块操作 API,包括 fs_api_slice_writefs_api_slice_readfs_api_slice_delete 等函数。如果不打算使用 FastCFS 提供的文件元数据管理(即FastDIR组件),可以直接使用此类API。通过调用本层APIFastCFS可以对外提供块设备,比如提供iSCSI接口(目前暂未支持,后续可以考虑支持)。

下一篇文章将介绍 FastCFS架构及特点,敬请期待。

以上是关于FastCFS核心组件及访问方式的主要内容,如果未能解决你的问题,请参考以下文章

FastCFS简洁高效的访问权限控制

FastCFS binlog机制简介

FastCFS binlog机制简介

云原生分布式存储系统FastCFS安装简明教程

云原生分布式存储系统FastCFS安装简明教程

FastCFS同步复制机制简介