高性能分布式文件系统FastCFS简介

    FastCFS 是一款强一致性、高性能、高可用、支持百亿级海量文件的通用分布式文件系统,可以作为MySQL、PostgresSQL、Oracle等数据库,k8s,KVM,FTP,SMB和NFS等系统的后端存储。

FastCFS 主要特点

  保证数据强一致前提下实现了高性能:性能完胜Ceph;

  完全兼容POSIX文件接口,支持文件锁,支持百亿级海量文件;

  高可用:不存在单点,自动failover;

  简洁高效的架构和原生实现,不依赖第三方组件,内置运维工具,易用性较好;

  随机写性能强悍:FCFS基于trunk顺序分配空间,将客户端的随机写转换为顺序写。

FastCFS 典型应用场景

  数据库:支持常规的独享数据和高阶的共享数据两种存储方式,支持数据库云化;

  文件存储:如文档、图片、视频等等,FastCFS比对象存储更容易与通用软件集成;

  超融合存储:数据库和文件存储共用一个存储集群,显著提升存储资源利用率;

  高性能计算:高可靠和高性能的FastCFS,天然适合高性能计算场景;

  视频监控:FastCFS采用顺序写盘方式,使用SATA硬盘也可保证多路视频流畅写入。

    已经有了比较受欢迎的FastDFS,为啥还要研发FastCFS呢?FastDFS是轻量级的对象存储,只能通过专有API访问,为互联网应用量身定制,适合存放图片、视频、文档等等;而FastCFS是通用的分布式文件系统,可以mount到本机通过标准文件接口访问,为云平台量身定制,完全支持数据库。一句话总结:FastCFS是云原生分布式文件系统,保证数据强一致,比FastDFS更加通用和可靠。

    为什么业界没有使用分布式文件系统跑数据库的惯例呢?我认为主要原因是现有分布式文件系统要么不支持数据库,要么支持得不好。因为数据库是IO密集型软件,对IO性能要求很高,并且对数据一致性要求非常严苛。FastCFS在保证数据强一致的前提下,同时做到了高性能,完全满足数据库对IO性能和数据一致性的严格要求。软件本身不应该成为系统的性能瓶颈,这是我奉行的原则并一直为之实践。若有朋友发现FastCFS在高端服务器上性能发挥不出来,欢迎来找我(tiguan)。分布式系统保证数据一致性的同时要做到高性能,挑战非常大,FastCFS是如何做到的呢?总结为两个关键词是简单高效和原生实现,后续会有文章介绍。

    FastCFS完全自主研发(原生实现),除了依赖libfuse实现文件挂载外,不依赖任何第三方软件。FastCFS依赖的基础库libfastcommon和libseverframe来自FastDFS,目前非常成熟和稳定。

    FastCFS 2020年11月份推出第一个版本,从v2.0开始支持k8s CSI驱动,当前版本为v3.5。欢迎大家测试和使用。源码地址:github项目官网 gitee项目官网

    有任何问题请随时反馈,我们将快速修复和完善。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容