383 天,30000 star:RustFS 是怎么从“假开源“逆袭成增长最快的对象存储的
2026/7/22 14:01:56 网站建设 项目流程

目录

    • 一、先说那个不体面的开头:被骂了整整一年"假开源"
    • 二、它为什么能踩中痛点:MinIO 留下的那个大坑
    • 三、五分钟先跑起来:Docker 部署与 S3 兼容验证
    • 四、技术上到底能不能打:看公开的压测数据
      • PUT(写入):全尺寸领先,这是最硬的卖点
      • GET(读取):小文件和大文件领先,中间段还落后
      • 为什么快:Rust 带来的几个结构性优势
      • 面向 AI 的定位:不只是"又一个 MinIO"
    • 五、社区是怎么"卷"起来的:运营也是硬实力
    • 六、关于"国产开源可不可信"的那道坎
    • 七、写在最后

2026 年 7 月 20 日,用 Rust 写的对象存储项目RustFS的 GitHub star 数越过了 30000。

单看数字可能没什么感觉,换个参照系就有意思了:这个项目的第一行核心代码,是 2025 年 7 月 2 日才提交上去的。从开源到 30k,只用了 383 天。作为对比,同样定位在存储 / 数据库基础设施赛道、跑了十几年的老牌项目——Ceph 现在是 16.8k star,OpenEBS 9.8k,Longhorn 7.9k,GlusterFS 5.2k;连数据库里的 PostgreSQL 官方仓库也才 21.5k。一个 2024 年才真正立项的年轻项目,社区热度已经压过了这些行业基石。

更有意思的是它的开头并不体面——这个项目一度被中文技术社区公开挂成"假开源典范"“PPT 项目”。这篇文章想把它的这一年复盘清楚:它凭什么火,技术上到底能不能打,以及有哪些还没解决的短板。尽量只讲有据可查的事实和公开实测数据,不吹。


一、先说那个不体面的开头:被骂了整整一年"假开源"

时间倒回 2024 年 1 月。RustFS 在 GitHub 建了仓库,口号喊得很响——“用 Rust 做 MinIO 的开源平替,解决开源存储痛点”。

然后就没有然后了。

整整一年,仓库里只有一份孤零零的 README,代码一行没有。社区的耐心是有限的,评论区很快从期待变成质疑,再变成嘲讽:“又一个假开源”“典型的 PPT 项目”。2025 年 3 月团队公开承诺"当月一定开源",结果又跳票,基本把最后一点信任耗光了。

如果故事停在这里,它就是又一个烂尾的开源项目。转机来得毫无预兆:2025 年 7 月 2 日,没有预热、没有公关稿,6.2 万行 Rust 代码一次性全量推上了 GitHub。

社区的反应比代码来得还猛。据官方后续复盘,开源后连续 3 天进入 GitHub Trending 全语言总榜、连续 4 天高居 Rust 榜首,48 小时内 star 涨了 700+,Hacker News 上被顶上热门,中文技术圈也炸开了锅。最戏剧性的一幕是:一位早前公开怒喷过它"假开源"的知乎博主,实测之后专门发了篇《致歉 RustFS:我欠你一个 star》,转发过千。

一个被骂了一年的项目,靠"闭嘴,直接交货"完成了口碑反转。这本身就说明:在开源世界里,代码是唯一有说服力的公关稿。


二、它为什么能踩中痛点:MinIO 留下的那个大坑

RustFS 能火,运气成分有,但更关键的是它精准踩在了一个正在扩大的市场缺口上——这个缺口是 MinIO 自己挖的。

MinIO 是对象存储领域的老牌开源标杆,简洁、高效、S3 兼容,几乎是自建对象存储的默认选项。但过去几年它做了一连串让社区离心的动作,按时间线捋一下:

  • 许可证收紧:从早期宽松的 Apache 2.0 改成了严苛的AGPLv3。AGPL 有个"网络使用即分发"的条款——只要你把 MinIO 作为网络服务对外提供,哪怕只改了一个配置文件,理论上都得开源你的整个代码栈。这对商业公司几乎是"劝退级"条款。
  • 砍核心功能:2024 年 9 月移除了 k8s Operator 的控制台界面;2025 年 5 月又删掉了社区里最好用的 Console 管理控制台,还停止了直接的二进制分发。开源版越用越"毛坯"。
  • 最后一击:2026 年 2 月,MinIO 宣布永久停止维护其开源仓库

这一连串操作,把全球数百万习惯了 MinIO 的开发者推向了同一个问题:有没有一个现代、高性能、S3 兼容、而且商业友好的替代品?

RustFS 团队自己就是这个痛点的亲历者。据 2025 年 7 月的开源宣言复盘,团队从 2019 年就开始重度使用 MinIO,很认可它;但2022 年、2023 年 MinIO 连续两次涨价,团队直言"已经用不起了"——这才是他们下决心自研的最原始动机。比起"因为改了 License"这种抽象理由,"用不起了"要真实得多,这也是很多中小团队共同的处境。

时机上还叠加了两个大趋势:一是Rust 在基础设施领域的崛起(无 GC 停顿、编译期内存安全);二是AI 训练 / 推理让对象存储重新变成关键基础设施——传统 IO 架构撑不住 GPU 集群的高速吞吐。几股力量交汇,给了 RustFS 一个不错的窗口。


三、五分钟先跑起来:Docker 部署与 S3 兼容验证

在看压测数据之前,不妨先自己把它跑起来——RustFS 是单个静态二进制、无外部依赖,上手成本很低。最快的方式是 Docker:

# 单机快速体验:拉起一个 RustFS 实例dockerrun-d\--namerustfs\-p9000:9000\-p9001:9001\-eRUSTFS_ROOT_USER=rustfsadmin\-eRUSTFS_ROOT_PASSWORD=rustfsadmin\-v/data/rustfs:/data\rustfs/rustfs:latest# 9000 是 S3 API 端口,9001 是 Console 控制台端口# 浏览器打开 http://localhost:9001 即可进入管理界面

因为它 100% 兼容 S3 协议,所以现有的 AWS CLI / SDK 代码不用改一行,把 endpoint 指过来就行:

# 用官方 AWS CLI 直接操作 RustFS,无需任何改造aws configuresetaws_access_key_id rustfsadmin aws configuresetaws_secret_access_key rustfsadmin# 建桶、上传、列举aws --endpoint-url http://localhost:9000 s3 mb s3://demo aws --endpoint-url http://localhost:9000 s3cp./test.txt s3://demo/ aws --endpoint-url http://localhost:9000 s3lss3://demo/

Python 侧同样是标准boto3,把endpoint_url换掉即可:

importboto3 s3=boto3.client("s3",endpoint_url="http://localhost:9000",aws_access_key_id="rustfsadmin",aws_secret_access_key="rustfsadmin",)s3.create_bucket(Bucket="ai-dataset")s3.upload_file("train.parquet","ai-dataset","train.parquet")print([o["Key"]foroins3.list_objects_v2(Bucket="ai-dataset").get("Contents",[])])

"S3 兼容"这四个字对迁移成本的意义很大:存量代码零改动、运维习惯零迁移,这也是它能快速接住 MinIO 存量用户的现实原因之一。


四、技术上到底能不能打:看公开的压测数据

故事讲得再好,存储系统最终还是要用数据说话。这里直接引用 RustFS 官方 2026 年 7 月发布的beta.10 版本压测报告(测试用 warp,4 节点 × 4 磁盘、Ubuntu 24.04、8 核 16GB Azure 环境,对比对象是 MinIO RELEASE.2026-06-06)。

想自己复现的话,warp 的压测命令也很直白:

# 用 MinIO 官方压测工具 warp 复现 PUT 测试(换成你自己的 endpoint 即可)warp put\--host=127.0.0.1:9000\--access-key=rustfsadmin\--secret-key=rustfsadmin\--obj.size=4KiB\--concurrent=32\--duration=1m# GET 测试:把子命令换成 get,obj.size 逐档扫描 1KiB~32MiB 即可对比warp get--host=127.0.0.1:9000 --access-key=rustfsadmin --secret-key=rustfsadmin--obj.size=1MiB--concurrent=32--duration=1m

PUT(写入):全尺寸领先,这是最硬的卖点

对象大小RustFS (obj/s)MinIO (obj/s)RustFS / MinIO
1 KiB2195.9114701.49×
4 KiB2150.8810772.00×
10 KiB2150.4210752.00×
16 KiB2082.3012191.71×
32 KiB2006.7911551.74×
100 KiB1850.767122.60×
1 MiB1017.724702.17×
4 MiB652.312292.85×
10 MiB301.341462.06×
16 MiB190.331821.05×
32 MiB90.67691.31×

写入这一项,RustFS 在所有测试尺寸上都胜过 MinIO,100 KiB、4 MiB 这些常见尺寸甚至能到 2.6~2.85 倍。对于写多读少、或者小文件海量写入的场景(比如日志、监控、AI 训练数据落盘),这个差距是能直接感知到的。

GET(读取):小文件和大文件领先,中间段还落后

读取这边就没那么一边倒了,得诚实说清楚:

  • 1 KiB ~ 16 KiB(小文件):RustFS 全面领先,约 1.03~1.05×;
  • 32 KiB ~ 1 MiB(中间段)MinIO 反过来领先,尤其在 1 MiB 附近 MinIO 优势明显;
  • 4 MiB ~ 32 MiB(大文件):RustFS 重新领先,约 1.08~1.26×。

所以读取性能是"两头强、中间弱"。100 KiB ~ 1 MiB 这个区间目前仍是 MinIO 的强项,如果你的业务读负载恰好集中在这个尺寸,选型时要把这点考虑进去。官方在报告里也没回避这个短板,这种态度反而值得肯定。

为什么快:Rust 带来的几个结构性优势

性能差距不是调参调出来的,背后是几个架构选择:

  • 零 GC 停顿:MinIO 用 Go 写,GC 停顿在延迟敏感场景是绕不开的;RustFS 靠 Rust 的所有权系统做到无 GC。有金融类用户反馈,迁移后延迟从百毫秒级压到了十几毫秒。
  • 省资源省到夸张:二进制只有约93 MB(MinIO 约 320 MB),空闲内存能稳定压在 100 MB 以内。极端案例是有开发者在树莓派 4B 上跑出了 500 MB/s 的吞吐,直接打破"分布式存储必须上重型设备"的刻板印象。
  • 底层用了io_uring异步 IO + 自研 LSM-Tree 元数据引擎,把小文件场景的随机写转成顺序写,这也是它小文件 PUT 能翻倍的原因之一。
  • 国产化适配:在鲲鹏 920 平台上性能甚至反超 x86 约 15.3%,对信创场景是个加分项。

面向 AI 的定位:不只是"又一个 MinIO"

值得单独提的是,RustFS 并没有把自己定位成 MinIO 的简单复刻,而是明显在往 AI 基础设施方向走:

  • 支持RDMA 协议、内置S3 Table,瞄准 GPU 集群的高速数据吞吐;
  • 协议面比一般对象存储更宽:S3 / WebDAV / Swift / FTP(s),还罕见地支持了MCP(Model Context Protocol),这对 Agent 生态是个前瞻性的接口。

这块布局能不能兑现还要看后续,但至少方向上,它想解决的是"AI 时代的存储"这个更大的问题,而不只是接盘 MinIO 的存量用户。


五、社区是怎么"卷"起来的:运营也是硬实力

技术能打是基础,但 383 天冲到 30k、全球贡献者超过 160 位、装机量 150 万+ 台、Docker 镜像拉取 5 亿次——光靠技术解释不了这个增速。它的社区运营有几个做法值得同行参考:

  • 真心降低贡献门槛。它的 “good first issue” 是真的对新手友好:改错别字、补注释、优化教程都算,中文文档细致到树莓派单机部署、国产芯片适配。这让第一次参与开源的人也能顺利提上 PR。
  • 用真实认可留人,而不是搞虚的积分体系。Commit 致谢、把活跃贡献者吸纳进核心讨论组、给贡献者寄定制周边——这些比"贡献值排行榜"更能留住人。
  • 需求响应快。国密算法两个月就出了稳定版;社区反馈 Docker 改端口无法登录的问题后,团队直接把前端 Console 和后端 Endpoint 做了深度整合重构,并为部署困扰公开致歉。这种"认错 + 快速修"的姿态,在开源社区里很稀缺。
  • 迭代节奏稳。长期保持每周至少一版的发布频率(通常周三),从 alpha 一路走到 2026 年 4 月的 Beta,累计 2850+ 次提交、99 个 alpha 版本。

一句在社区里流传的话,大概能概括它的运营哲学:“三十个活跃贡献者,比一千个僵尸 star 有用得多。”


六、关于"国产开源可不可信"的那道坎

RustFS 是国产项目,躲不开一个灵魂拷问:会不会先开源吸引用户、再闭源收割(所谓 rug-pull)?尤其它要求贡献者签 CLA,社区里确实有人为此担忧。

面对这个质疑,团队在 2026 年 2 月公开做了承诺:核心仓库将永久保持开源;要求签 CLA 只是为了规避未来的知识产权法律风险,而不是为闭源铺路;商业化走"核心开源 + 企业级增值服务"的路线。

承诺归承诺,能不能兑现要交给时间检验。但至少在 MinIO 刚宣布永久停维、整个社区都在反思"开源基础设施的未来在哪"的当口,RustFS 把话摆到了台面上——这一点,比闷声不吭要好。顺带一提,在那场 Hacker News 讨论里,连顶级向量数据库 Milvus 这样的用户都给了它不错的评价。


七、写在最后

RustFS 这一年最值得琢磨的,其实不是"30k star"这个数字本身,而是它验证了一条朴素的路径:把一个场景做透、技术做实、社区做活,不用喊"替代国外产品"的口号,市场和开发者自然会用脚投票。

它起步于一个被嘲笑一年的 README,靠一次"直接交货"完成翻身,又精准接住了 MinIO 留下的市场空缺。技术上它写入性能领先明显、面向 AI 的布局有想法,但成熟度、部分读取场景、生态完善度都还有功课要补。

对做存储选型的工程师来说,它已经完全值得你去 clone 一份、跑一轮自己的压测——毕竟,在对象存储这个曾经沉闷的领域里,好久没有出现过这么有意思的搅局者了。

# 想深入就从源码开始gitclone https://github.com/rustfs/rustfs.gitcdrustfs&&cargobuild--release

数据与事实来源:RustFS 官方博客(blog.rustfs.com)、官方发布的 beta.10 压测报告、GitHub 官方仓库,以及第三方技术社区(掘金、CSDN、Hacker News)的公开报道与实测。文中性能数据均来自官方公开压测,建议读者在自己的业务场景下复测验证。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询