本文主要是介绍Seaweed,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
随着业务量增长,一个系统需要存储上百万文件的情况越来越多,尤其是互联网网站。在这种情况下依然使用传统磁盘/共享存储的方式进行支持会有一些问题:
- 文件的备份、恢复困难,大量文件的copy耗时耗力
- 文件数量暴增占满操作系统文件系统inode,导致磁盘空间虽然没有用完但是因为inode用尽无法使用
- 文件读取效率太低,无法应对高并发读取要求
针对 以上问题,有很多实现出现,如TFS、MogileFS、GlusterFS等,其中SeaweedFS是一个比较优秀的实现。具有效率高、结构简单、代码清晰等优点。本文针对Seaweedfs进行简要的分析。
SeaweedFS是一个简单的高度可扩展的分布式文件系统,主要有2个目标:
- 存储数量庞大的文件
- 快速服务文件
相比于支持全功能POSIX文件系统,SeaweedFS实行单一关键字:文件映射。
相比于在一个中心主服务器中管理所有文件元数据,中心主服务器只管理卷服务器,并且它让这些卷服务器管理文件和它们的元数据。这样可以缓解中心主服务器的并发压力,然后将元数据传入卷服务器,并且允许更快的文件接入速率(仅仅一次磁盘读操作)。
每个文件的元数据仅仅占用40字节的存储空间。
这篇关于Seaweed的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!