《专场11.3-百亿级分布式文件系统FastCFS架构与实现-余庆.pdf》由会员分享,可在线阅读,更多相关《专场11.3-百亿级分布式文件系统FastCFS架构与实现-余庆.pdf(21页珍藏版)》请在三个皮匠报告上搜索。
1、百亿级分布式文件系统百亿级分布式文件系统FastCFSFastCFS架构与实现架构与实现余余 庆庆FastDFS&FastCFS创始人自我介绍自我介绍 分布式文件系统 FastDFS&FastCFS 作者 曾任职于新浪、雅虎中国和阿里巴巴 对分布式架构和高性能编程有着深入的研究和丰富的实践经验为什么要研发为什么要研发FastCFSFastCFS?几款开源分布式文件系统:GlusterFS、MooseFS、Ceph 缺乏一款好用的DFS 数据库云化是趋势数据库存储面临的挑战数据库存储面临的挑战 数据一致性 系统可用性 IO性能数据库对分布式存储要求数据库对分布式存储要求 硬盘好 网络好 软件好F
2、astCFSFastCFS的定位的定位FastCFS 是一款强一致性、高性能、高可用、支持百亿级海量文件的通用分布式文件系统,可以作为MySQL、PostgresSQL、Oracle等数据库,k8s,KVM,FTP,SMB和NFS等系统的后端存储。FastCFSFastCFS版本历史版本历史 V1.0:2020年12月第一个版本 V2.0:2021年4月支持k8s V3.0:2021年12月实现存储插件 V3.3:2022年4月生产环境可用 V3.7:2022年11月当前最新版本FastCFSFastCFS核心模块核心模块faststorefaststore架构架构FastCFSFastCFS
3、架构特点架构特点 有中心和无中心结合 分组方式,简单高效服务器分组数据分组 对等结构,自动failoverFastCFSFastCFS软件特点软件特点 保证数据强一致前提下实现了高性能 完全兼容POSIX文件接口,支持文件锁,支持百亿级海量文件 高可用:不存在单点,自动failover 简洁高效的架构和原生实现,不依赖第三方组件 数据写入性能强悍FastCFSFastCFS如何做到数据强一致如何做到数据强一致 数据版本号 集群动态拓扑信息 多数派机制,特有的公共选举节点 幂等机制FastDIRFastDIR如何实现高性能如何实现高性能 支持命名空间 采用跳表(skiplist)数据线程无锁化F
4、astDIRFastDIR如何支持百亿级海量文件如何支持百亿级海量文件 binlog+存储插件:异步持久化修改的inode数目达到阈值超过特定时间间隔 按目录结构淘汰 按数据线程淘汰FastCFSFastCFS性能对比数据(一)性能对比数据(一)FastCFSFastCFS性能对比数据(二)性能对比数据(二)FastCFSFastCFS性能对比数据(三)性能对比数据(三)FastCFSFastCFS如何做到极高性能如何做到极高性能 简洁高效的架构和原生实现 内存池、连接池、线程池等 客户端读写缓存FastCFSFastCFS后续工作计划后续工作计划 支持集群在线扩容 分级存储&slice数据合并:支持两级存储(如SSD+HDD)S3、块设备、NBD等接口方式