從被噴 “假開源” 到登頂 GitHub 熱榜,RustFS 開源項目上演王者歸來!

故事的序幕,在 2024 年 1 月的 GitHub 上悄然拉開。

當時,一個名爲 RustFS 的開源項目橫空出世,號稱要做一個基於 Rust 的企業級分佈式存儲系統,旨在成爲 MinIO 的一個開源替代品。這個口號直接把大家吊成了 “翹嘴”,但左等右等,結果一年了還只有一份 README 文件,就是不見源碼。一時間,開源社區質疑聲四起:“假開源”、“PPT 開源”、“光說不練”。

面對壓力,RustFS 官方回覆說:將在今年的 3 月完全開源,但結果... 它再次跳票。這一下,社區裏的質疑聲幾乎達到了頂點。很多人,包括我,都給它默默打上了一個 “不靠譜” 的標籤。

然而,就在七月的第二天(2025.7.2),RustFS “悄悄地”將代碼全部開源了!大家還沒從 “居然真的開源了” 的震驚中緩過神,它就像坐火箭一樣,短短几天便登頂 GitHub 熱榜!

GitHub 地址:github.com/rustfs/rustfs

在如今 AI 開源項目霸榜的環境下,一個與 LLM 毫無關係的開源項目能殺入「全分類熱榜」,實屬難得!這波操作,是真的把我的下巴都驚掉了。所以,我決定上手體驗一番,看看這個曾經的 “跳票王”,如今的 “榜一大哥”,到底有幾分真本事。

一、我用 “丐版” 服務器把 RustFS 跑起來了!

我尋思着,這種 “分佈式存儲系統” 聽着就挺高大上,配置要求肯定不低吧?這是我能玩的東西?

抱着 “來都來了” 的心態,我隨手開了一臺堪稱 “丐版” 的雲服務器(2 核 4G、1M 帶寬的 Ubuntu),做好了看它報錯的心理準備。結果…… 整個過程非常順利。從一臺新機器到跑起來只需 3 步:

# 1. 切換到 root 用戶,圖個方便
sudo -s

# 2. 裝個解壓工具,因爲安裝包是 zip 格式
apt install zip

# 3. 下載並運行一鍵安裝腳本
curl -O  https://rustfs.com/install_rustfs.sh
bash install_rustfs.sh

終端顯示熟悉的 success,它就這麼跑起來了!單機可用、資源佔用低,看來真不是吹的!

[INFO] RustFS service enabled and started.
RustFS has been installed and started successfully!
Service port: 9000, Data directory: /data/rustfs0

我立馬打開瀏覽器,訪問 http://你的服務器IP:9001/,輸入默認的賬號密碼:rustfsadmin,一個清爽的管理後臺就出現在眼前。

二、RustFS 能用來幹什麼?

對我來說,RustFS 的出現,重新點燃了我內心一個長久以來的想法——創建一個真正開放、純粹的開源應用商店

我一直覺得,優秀的開源項目與普通用戶之間,隔着一道 “最後一公里” 的鴻溝。用戶不知道去哪找好用的開源應用,開發者也很難將自己的開源作品方便地分發出去。我想打通這一步,讓優秀的開源軟件能像在手機應用商店裏一樣,一鍵下載和安裝。這個想法很美好,但現實的第一個耳光很快就扇了過來:存儲

而 RustFS 恰好解決了這些痛點。它讓我可以用極低的成本,在一臺普通的雲服務器上自建一個功能強大、兼容 S3 的存儲服務。這意味着,我可以先用 RustFS 將想法快速落地,如果有朝一日真的火了,它的分佈式架構又能支撐平滑地擴展,從容應對增長。

import boto3
from botocore.client import Config

# 1. 兼容 S3 協議可直接用 boto3 庫,連接到 RustFS 服務
s3 = boto3.client(
    's3',
    endpoint_url='http://IP:9000',
    aws_access_key_id='rustfsadmin', 
    aws_secret_access_key='rustfsadmin',
    config=Config(signature_version='s3v4'),
    region_name='us-east-1'
)

# 2. 上傳文件
def upload_file(local_path, bucket, object_key):
    """將本地文件上傳到指定的存儲桶。"""
    s3.upload_file(local_path, bucket, object_key)
    print(f"上傳成功: {local_path} -> s3://{bucket}/{object_key}")

# 3. 下載文件
def download_file(bucket, object_key, local_path):
    """從指定的存儲桶下載文件到本地。"""
    s3.download_file(bucket, object_key, local_path)
    print(f"下載成功: s3://{bucket}/{object_key} -> {local_path}")

RustFS 是一個能屈能伸、既能跑在 “小破機” 上,又能支持企業級應用的文件存儲系統,它的底氣究竟從何而來?答案,就藏在它的技術架構裏。

三、技術架構解析,向 MinIO 致敬

作爲 MinIO 的開源平替,RustFS 參考了 MinIO 的簡潔、輕量、可擴展、優雅的架構。RustFS 的基本架構是分佈式網格,一種使用多個節點執行單個任務的計算機架構。摒棄了傳統分佈式存儲中複雜的主節點、元數據節點、數據節點角色劃分,節點通過網絡相互連接,這使得它們能夠相互通信。

要理解其運作方式,需掌握幾個核心概念:

數據以對象 (Object) 的形式存放在邏輯桶 (Bucket) 中,並最終寫入由物理磁盤 (Drive) 組成的工作小組——集合 (Set)。爲了高可用,一個 Set 中的磁盤會分佈在不同節點上。一個完整的對象,通過糾刪碼等技術,其數據和校驗塊會被完整地分佈在某一個集合上。整個過程嚴格遵守 **Read-after-write **的強一致性模型,確保了數據的實時與準確。

四、當 MinIO 不再 “開放”,RustFS 能否成爲更優選擇?

近年來,MinIO 的商業化步伐不斷加速,其一系列操作從修改開源協議到限制開源版本功能——讓許多忠實用戶感到不安。曾經那個開放、自由的 MinIO 似乎正漸行漸遠,這讓業界開始迫切尋找一個更開放、對商業更友好、更純粹的開源替代方案。

2X2hyk

在這樣的背景下,RustFS 應運而生。它不僅是一個雄心勃勃的 MinIO 開源平替,更代表了一條堅持自主可控的技術路線。爲了更直觀地展示 RustFS 的價值,我整理了以下對比表格:

DlEeqT

誠然,RustFS 目前還處於早期 Alpha 階段,功能尚不完善、Bug 也在所難免。外界也有不少聲音質疑 RustFS 只是 “照抄” MinIO。當你選擇了一條鮮有人走、充滿荊棘的道路,不僅要克服技術難題,也要有直面流言蜚語的心理準備。或許正因爲如此,RustFS 在經歷了數次 “跳票” 後,最終決定將 Alpha 版本開源,與大家共同見證它的成長。

五、無視質疑衝上 GitHub 熱榜,底氣何在?

作爲開源新生,RustFS 從第一天起就活在聚光燈下,也活在爭議之中:“開源騙子”、“Bug 太多,能用嗎?”、“這不就是又一個 MinIO 嗎?”

面對這些聲音,RustFS 的態度很明確:所有質疑,照單全收,然後用代碼來回應。到底是誰,有如此底氣和決心,敢於挑戰 MinIO 並堅持走自主研發、國產化(存儲合規和信創適配)的道路?我順藤摸瓜找到了他們,RustFS 的核心團隊成員均是來自百度、騰訊、好未來等一線互聯網公司的資深存儲專家和架構師,他們設計和維護過支撐數億用戶的龐大存儲系統。

如今,這羣人爲了同一個目標聚集在 RustFS,致力於打造一個開源、安全可靠、自主可控的世界級對象存儲系統。這不僅是項目的初衷,或許也是他們面對所有流言蜚語,仍要堅定走下去的理由。

GitHub 地址:github.com/rustfs/rustfs

最後,RustFS 的開源之路纔剛起步,還有許多有待完善的地方。希望大家多一些支持、包容和耐心,讓我們共同見證它的成長與蛻變~

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/Lw594klUp5YuSVC666_m3w