在当今数据驱动的世界中,高效可靠的文件存储系统对于各种规模的应用程序都至关重要。RustFS作为一个基于Rust语言构建的文件存储解决方案,凭借其出色的性能、安全性和易用性,正逐渐成为开发者的新选择。本文将介绍RustFS的特性、部署方案及使用。
RustFS简介
RustFS 是一个使用 Rust(全球最受欢迎的编程语言之一)构建的高性能分布式对象存储软件。与 MinIO 一样,它具有简单性、S3 兼容性、开源特性以及对数据湖、AI 和大数据的支持等一系列优势。此外,与其他存储系统相比,它采用 Apache 许可证构建,拥有更好、更用户友好的开源许可证。由于以 Rust 为基础,RustFS 为高性能对象存储提供了更快的速度和更安全的分布式功能。
github 地址:https://github.com/rustfs/rustfs
文档地址:https://docs.rustfs.com/zh/
该项目目前在github 上有6.6k star。
RustFS 的特性
- S3 兼容: 100% 兼容 S3 协议,优秀的兼容性与大数据、数据湖、备份软件、图像处理软件、工业生产软件兼容;
- 分布式: RustFS 是一个分布式的对象存储,因此,RustFS 可以满足各种需求;
- 商用友好: RustFS 是 100% 的开源软件,并且使用 Apache v2.0 许可证发型,因此,RustFS 是商用友好的;
- 快速: Rust 这一门开发语言的性能无限接近于 C 语言的速度。因此,RustFS 的性能非常强劲;
- 安全: RustFS 使用内存安全的语言 Rust 编写,因此,RustFS 是 100% 安全的;
- 跨平台: RustFS works on Windows, macOS, and Linux;
- 可扩展: RustFS 支持自定义插件,因此,RustFS 可以满足各种需求;
- 可定制: 由于开源的特性,你可以自定义各种插件插件,因此,RustFS 可以满足各种需求;
- 云原生: RustFS 支持 Docker 等方式部署,可快速在云原生环境下快速部署。
docker-compose 快速部署
首先创建一个部署目录 rustfs,在该目录下创建docker-compose.yml文件,文件内容如下:
services:
rustfs:
image: rustfs/rustfs:latest
container_name: rustfs
ports:
- 9000:9000
volumes:
- ./data:/data # 数据存储
environment:
- RUSTFS_ROOT_USER=rustfsadmin
- RUSTFS_ROOT_PASSWORD=rustfsadmin
restart: unless-stopped
在该文件的统计目录下使用以下命令启动服务
docker-compose up -d
启动之后在浏览器中打开控制台地址:http://192.168.31.20:9000/,就可以看到控制台的web页面了
使用我们在docker-compose.yml中配置的用户名和密码登录控制台即可
登录之后就可以创建桶,上传文件了
RustFS作为一种高性能分布式对象存储软件,他给我们提供了一种文件存储的选择,可作为Minio的替代方案,我们下期介绍下如何使用sdk在springboot 中上传下载附件。
RustFS vs 其他对象存储
RustFS | 其他对象存储 |
---|---|
强大的控制台 | 简单且无用的控制台 |
基于 Rust 语言开发,内存更安全 | 使用 Go 或 C 开发,存在内存 GC/泄漏等潜在问题 |
不向第三方国家报告日志 | 向其他第三方国家报告日志可能违反国家安全法律 |
采用 Apache 许可证,对商业更友好 | AGPL V3 许可证等其他许可证,污染开源和许可证陷阱,侵犯知识产权 |
全面的 S3 支持,适用于国内外云提供商 | 完全支持 S3,但不支持本地云厂商 |
基于 Rust 开发,对安全和创新设备有强大支持 | 对边缘网关和安全创新设备支持较差 |
稳定的商业价格,免费社区支持 | 高昂的定价,1PiB 成本高达 $250,000 |
无风险 | 知识产权风险和禁止使用的风险 |
总结
RustFS凭借Rust语言的优势和精心设计的架构,为文件存储需求提供了高性能、高可靠的解决方案。无论是小型项目还是大规模分布式系统,RustFS都能提供合适的部署模式和调优选项。随着Rust生态的不断发展,RustFS有望成为文件存储领域的重要竞争者。
对于希望尝试RustFS的开发者,可以从官方文档中的快速入门指南开始,逐步探索更高级的特性和部署模式。在云原生和微服务架构日益普及的今天,RustFS这样的现代化存储解决方案将发挥越来越重要的作用。