RustFS 支持的 S3 API 里,这 5 个能力最容易被忽略

RustFS深度体验:一个比MinIO更省内存的S3兼容存储,我的Docker Compose配置全公开 本文详细介绍了RustFS作为S3兼容存储的深度体验,对比MinIO在内存占用、性能优化及AI训练场景中的优势。通过公开Docker Compose配置,展示了如何实现从MinIO到RustFS的无缝迁移,并提供了生产级部署和性能调优的实战技巧。 阅读详情

封面

RustFS 官网首页:面向 AI 数据中心的高性能 S3 兼容对象存储

我接手过一个数据平台,桶里几千万对象,某天合规要一份"谁在什么时候删了关键文件"的证明,运维翻了半天发现存储根本没开任何审计能力,只能从应用日志里反推。后来换成带对象锁和事件通知的存储,这类事才真正可控。

RustFS 常被当成"能 PUT/GET 的 S3 桶",但它背后那批 S3 管理能力其实已经可用。下面 5 个,是选型时最容易被忽略、出事时最值钱的。


1. 对象版本控制:误删可回退

开了版本控制,同名对象的每次覆盖都留旧版本,误删能取回。已纳入官方兼容性测试门禁:

aws --endpoint-url http://localhost:9000 s3api put-bucket-versioning \
  --bucket my-bucket --versioning-configuration Status=Enabled
# 列出所有版本
aws --endpoint-url http://localhost:9000 s3api list-object-versions --bucket my-bucket

适合数据集、配置、模型权重这类"改了还想留底"的对象。


2. 对象锁定(WORM):合规不可删

对象锁把对象钉成"写一次读多次",在保留期内禁止修改或删除,满足 FINRA 4511、CFTC 这类合规要求。RustFS 官网把 WORM Compliance 列为正式能力:

# 建一个带合规保留的对象锁配置(保留 365 天)
aws --endpoint-url http://localhost:9000 s3api put-object-lock-configuration \
  --bucket my-bucket \
  --object-lock-configuration '{"ObjectLockEnabled":"Enabled","Rule":{"DefaultRetention":{"Mode":"COMPLIANCE","Days":365}}}'

法律存证、审计原始数据这类"绝对不能删"的场景,直接上对象锁,比靠流程约束可靠。


3. 事件通知:对象变了就触发你的系统

对象创建、删除、访问都能推到外部系统。RustFS 支持 webhook、Kafka、MQTT、MySQL、PostgreSQL、NATS、Redis、AMQP、Pulsar 九类目标。默认关闭,用环境变量开:

export RUSTFS_NOTIFY_ENABLE="true"
export RUSTFS_NOTIFY_WEBHOOK_ENABLE_PRIMARY="on"
export RUSTFS_NOTIFY_WEBHOOK_ENDPOINT_PRIMARY="https://events.example.com/rustfs"

然后给桶挂规则,只推 uploads/ 下 .dat 的创建和删除事件:

{
  "QueueConfigurations": [
    {
      "Id": "primary-uploads",
      "QueueArn": "arn:rustfs:sqs:us-east-1:primary:webhook",
      "Events": ["s3:ObjectCreated:*", "s3:ObjectRemoved:*"],
      "Filter": { "Key": { "FilterRules": [
        {"Name": "prefix", "Value": "uploads/"},
        {"Name": "suffix", "Value": ".dat"}
      ] } }
    }
  ]
}

新文件落桶就自动触发下游处理,不用轮询 LIST。注意:当前只接受队列(queue)配置,SNS 主题和 Lambda 函数配置暂不支持。

一次对象写入从 RustFS 推到外部系统的链路


4. 桶 / 对象标签:给存储做成本核算

标签看着不起眼,却是成本分摊和生命周期过滤的抓手。RustFS 桶标签、对象标签都已在兼容性门禁内:

aws --endpoint-url http://localhost:9000 s3api put-bucket-tagging \
  --bucket my-bucket --tagging '{"TagSet":[{"Key":"team","Value":"ml"},{"Key":"env","Value":"prod"}]}'

按 team=ml 统计桶用量、按 env=prod 决定生命周期策略,财务和运维终于能对上账。


5. 生命周期:让冷数据自己归档

对象过期、分层转换交给生命周期规则自动跑。官方兼容性矩阵里"版本控制、对象锁、CORS、lifecycle 的部分行为"已测,可以按前缀/标签做过期与转换。配合标签用最顺:

aws --endpoint-url http://localhost:9000 s3api put-bucket-lifecycle-configuration \
  --bucket my-bucket --lifecycle-configuration file://lifecycle.json

热数据留标准层,30 天没访问的自动转归档层,省下的钱是真金白银。


6. 边界:哪些还没做,别想当然

按官方兼容性矩阵(commit 1e6f5f1e,2026-08-09 验证),当前覆盖 455 条可执行 s3-tests、17 条未实现、270 条主动排除,所以选型时心里要有数:

RustFS S3 兼容性能力边界速查

  • 桶访问日志(Bucket Access Logging)❌ 还在路线图,要审计访问现在靠事件通知 + 自身 OTLP 日志。
  • ACL 鉴权被有意排除(⊘ Excluded):RustFS 走 IAM + 桶策略(Bucket Policy)+ 公开访问块(Public Access Block)这套,不提供传统 ACL。这点和 MinIO 思路一致,迁移时别去找 x-amz-acl 那套。
  • 生命周期目前是"部分行为已测",复杂转换规则上线前先小桶验证。
  • 这些都是中性事实,不是"RustFS 不行"——任何 S3 兼容存储都有覆盖取舍。官方矩阵每 commit 更新,动手前翻一眼最新结果最稳。


    7. 总结与下一步

    • 版本控制、对象锁、事件通知、标签、生命周期,这 5 个 S3 能力 RustFS 已可用,出事时比"能存"值钱得多。
    • 事件通知默认关,靠 RUSTFS_NOTIFY_* 环境变量开;当前只支持队列类目标。
  • 边界:桶访问日志还没做、ACL 被有意排除走 IAM/桶策略;生命周期部分行为已测。
  • 下一步:挑一个最痛的桶,先开版本控制 + 挂一条 webhook 事件通知,感受"对象变了系统自动知道"的差别,再按需补对象锁和生命周期。


    以下是深入学习 RustFS 的推荐资源:RustFS

    官方文档: RustFS 官方文档- 提供架构、安装指南和 API 参考。

    GitHub 仓库: GitHub 仓库 - 获取源代码、提交问题或贡献代码。

    社区支持: GitHub Discussions- 与开发者交流经验和解决方案。

    意见反馈:GitHub Issues

RustFS实战:如何用Docker在5分钟内搭建高性能图片存储服务(附Python示例) 本文详细介绍了如何利用RustFS和Docker在5分钟内快速搭建一个高性能的图片存储服务。通过Docker Compose一键部署,并提供了完整的Python集成示例,包括图片上传、缩略图生成和安全分享的预签名URL生成,为开发者提供了一个轻量、高效且兼容S3协议的私有图床解决方案。 阅读详情

相关推荐

RustFS 1.0.0:Rust重写的轻量级S3兼容对象存储,Minio替代方案

对象存储是现代应用的基础依赖,S3协议已成为事实标准,Minio凭借生态成熟被广泛使用,但其Go实现带来的内存占用高、配置复杂等问题,在中小团队和边缘场景中往往显得过重。RustFS 1.0.0以Rust重写核心,保持S3 API兼容,无GC、内存可控、镜像精简,让对象存储回归轻量本质。从上传下载、断点续传到预签名URL,RustFS覆盖常用链路,并能通过Docker快速部署,与Spring Boot、小程序、RAGFlow等场景无缝集成。本文从对象存储选型痛点切入,拆解RustFS的架构取舍、部署实践、生

weixin_33919950的博客 343

5分钟上手RustFS对象存储API:从文件上传到数据安全

你是否还在为分布式存储的复杂配置而烦恼?是否需要一个高性能且兼容S3协议的对象存储解决方案?本文将带你快速掌握RustFS对象存储API的基础操作与高级功能,无需复杂部署即可实现安全高效的数据管理。读完本文后,你将能够:使用API进行文件上传下载、配置数据自动修复、实现访问权限控制,以及通过环境变量优化存储性能。 ## 关于RustFS RustFS是一款基于Rust语言开发的高性能分布式对象...

gitblog_00726的博客 1259

RustFS+Docker生产部署:高一致性文件服务的确定性交付

RustFS是一种面向强一致性场景的轻量级文件服务抽象层,其核心原理是将POSIX文件操作转化为可验证的HTTP/GRPC原子流程,通过BLAKE3实时校验与WAL双写保障‘所传即所存’。该技术价值在于满足金融、医疗等合规场景对数据零误差的硬性要求,典型应用场景包括单机可信存储网关、边缘AI模型分发节点及微服务间安全文件交换。结合Docker多阶段构建与scratch镜像,可实现12MB极简运行时、静态链接隔离和确定性ABI环境——这正是解决‘rustfs数据一致性校验’落地难题与‘rustfs部署失败’高

weixin_33713503的博客 417

RustFS 笔记

【代码】RustFS 笔记。

卫龙的博客 679

STM32实战——七段数码管动态扫描技术详解

本文详细解析了STM32控制七段数码管的动态扫描技术,包括硬件连接、CubeMX配置及编程实现。通过分时复用原理和优化代码逻辑,实现稳定显示效果,并解决亮度不均、闪烁等常见问题。适合嵌入式开发者快速掌握STM32数码管驱动技术。

weixin_42561143的博客 279

ANSYS Sherlock新手避坑:从ODB++文件导入到属性匹配的完整流程(附官方教程路径)

本文详细解析了ANSYS Sherlock从ODB++文件导入到属性匹配的完整流程,帮助新手避开常见陷阱。内容包括环境准备、官方教程使用技巧、ODB++导入关键检查点、属性验证策略及常见报错解决方案,特别强调了路径设置和材料匹配的重要性,提升仿真效率。

weixin_42519781的博客 454

探索高效且安全的S3存储库:rust-s3

探索高效且安全的S3存储库:rust-s3 在这个数字化时代,数据存储与管理成为业务的核心组成部分。Amazon S3作为云存储服务的领导者,提供了高度可靠和可扩展的解决方案。如果你正在寻找一个由Rust语言编写的强大工具来操作S3或兼容的API,那么rust-s3绝对值得你的关注。 项目介绍 rust-s3是一个针对Amazon S3的Rust库,同时也适用于其他S3兼容的对象存储服务,如Bac...

gitblog_00023的博客 685

闲鱼x-sign、x-mini-wua、x-umt三字段协同验证机制解析

在移动客户端风控体系中,设备标识与行为签名是保障接口安全的核心技术。x-sign并非传统时间戳+密钥的静态签名,而是融合设备特征、运行时状态与服务端动态因子的多阶段位运算结果;x-mini-wua作为小程序轻量水印,依赖主App注入的短时效sessionKey与截断时间戳;x-umt则通过设备硬件与网络环境联合编码实现强绑定。三者构成‘设备—环境—行为’三位一体的交叉验证链路,广泛应用于电商API防护、二手平台数据采集及自动化运营等场景。本文基于Android/iOS真机逆向与Frida动态分析,揭示其生成

weixin_30457551的博客 422

RustFS:轻量高效的S3替代(minio)方案

摘要: RustFS是一款兼容S3协议的开源对象存储系统,采用Rust语言开发,具有低内存开销和高性能特点。支持Linux原生安装(通过脚本自动部署)和Docker容器化部署,默认端口9000与MinIO保持一致。提供可视化控制台,支持Java等语言SDK集成,尤其适合AI训练场景。所有功能免费开源,Apache 2.0协议授权。(150字)

学海无涯,我用JAVA 1388

基于生存结局(生存分析/COX回归)的中介效应分析

① 建立观察变量OVB和中介变量MVB的回归模型(注意:这里根据mediation包的介绍,需要构建的是probit模型,而不是logist回归模型,网上有很多的代码用的logistic回归,结果自己跑的时候发现报错,我在这里陷了很久;为了方便演示,我们生成了一个协变量(Age)、一个连续型观察变量(liaOVC)、一个二分类观察变量(OVB)、一个连续型中介变量(MVC)、一个二分类中介变量(MVB)以及最后的结局变量(生存时间[time],生存结局[stats])。

m0_61863309的博客 1万+

jieba分词

jieba

sikh_0529的博客 1万+

MinIO祭了,RustFS来了!全栈工程师亲述两个月迁移实战

团队将核心存储系统从MinIO迁移至RustFS,解决了MinIO在高负载下小文件IOPS骤降(从9万跌至1.2万)及元数据瓶颈问题。经过两周技术验证,RustFS在小文件上传(提速3.2倍)和延迟(P99降低5.3倍)表现优异。采用渐进式迁移方案,分阶段双写、同步数据并切流,最终实现API成功率提升至99.97%,月度故障归零,运维工时减少87%。关键经验包括充分测试、回滚预案及跨团队协作,适合性能瓶颈场景,但不推荐超大规模集群。未来计划优化缓存与监控体系。

分布式存储与RustFS的博客 1202

安装Codex时出现无法下载此应用和Microsoft Store初始化失败的解决方案

本文主要介绍了安装Codex时出现无法下载此应用和Microsoft Store初始化失败的解决方案,希望能对使用codex的同学们有所帮助。 文章目录 1. 问题描述 2. Windows 解决方案 3. Mac解决方案

weixin_43178406的博客 7万+

【分布式技术】分布式对象存储服务RustFS

RustFS是基于Rust语言构建的高性能分布式对象存储服务,相比MinIO具有显著优势。它采用无GC的Rust语言和Linux内核的io_uring异步I/O接口,实现零系统调用和零拷贝I/O,4K随机读IOPS比MinIO高42%,内存占用仅为1/10。架构上采用完全对等的分布式网格架构,无中心元数据节点,通过纠删码实现数据冗余和并行I/O。RustFS兼容S3协议,采用商业友好的Apache 2.0许可证,适合云原生和边缘计算场景。部署时只需简单配置Docker Compose文件即可快速搭建4节点生

wendao76的专栏 1328

Java代码实现opc ua 事件订阅和数据变化订阅

OPC UA (Open Platform Communications Unified Architecture) 提供了两种主要的订阅机制:数据变化订阅(Data Change Subscription)和事件订阅(Event Subscription)。这两种订阅机制允许客户端实时接收来自服务器的数据更新或事件通知。

洛阳泰山的博客 2367

【网络与爬虫 41】TLS指纹伪造技术深度解析:ja3、ja4反检测与绕过策略

TLS指纹是现代反爬虫系统的重要检测手段,通过分析客户端TLS握手特征来识别爬虫。本文将深入解析ja3、ja4等TLS指纹技术原理,详细介绍指纹伪造和绕过策略,通过实际代码示例和工具使用,帮助开发者掌握TLS指纹反检测技术,构建更隐蔽的网络爬虫系统。

熵数实验室 1万+

RustFS 的 OpenStack Swift 兼容 API:架构、配置与实战指南

本文以 [crates/protocols/src/swift/README.md](https://link.gitcode.com/i/26cfc4ebc8e839fa57601b86ce4ef5c4) 为骨架,完整讲解 RustFS 中 OpenStack Swift 对象存储 API 的实现形态:它如何以 Tower 服务层包在 S3 服务之外、如何通过 Keystone 令牌认证与 SH

gitblog_00643的博客 991

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

RustFS Keystone 集成实战:为 S3 对象存储接入 OpenStack 统一认证

RustFS 的 `rustfs-keystone` crate(位于 [crates/keystone](https://link.gitcode.com/i/72b006d0a73a7f65d1f0832eeede7c4c))为 S3 兼容对象存储提供了完整的 OpenStack Keystone 认证集成,支持 Keystone v3 令牌认证、EC2 凭据映射、基于项目的多租户隔离以及角色

gitblog_00158的博客 122

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

MinIO替代方案生态集成指南:RustFS如何无缝融入现代技术栈

RustFS作为MinIO迁移方案,在生态集成方面展现出显著优势:1)多云/混合云适配性强,支持主流云平台API兼容;2)K8s集成轻量化,资源占用仅为Ceph的1/4;3)监控告警开箱即用,原生支持Prometheus/Grafana;4)开发工具链兼容S3标准,迁移成本低;5)安全机制满足企业合规需求。相比Ceph的复杂运维和云存储的厂商锁定,RustFS以轻量架构实现技术栈无缝衔接,特别适合中小团队快速迁移,建议优先从监控和K8s集成切入验证。

分布式存储与RustFS的博客 1120

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

RustFS 如何开启 SFTP 前端:生成主机密钥、配置监听并验证连接

RustFS 默认只暴露 S3 接口,SFTP 前端是可选能力:需要在构建时启用 `sftp` cargo feature,再在启动前配置三个环境变量并准备一份 SSH 主机密钥。完成本文步骤后,你会得到一个监听在自定义端口(示例使用 `2222`,避开需要特权的 22 端口)的 SFTP 服务端,可以用 SFTP 客户端以 IAM 用户名密码登录,把 bucket 目录当作根目录访问对象。 #

gitblog_00068的博客 458

RustFS InternodeDataTransport 能力声明机制解析:面向后端无关的数据面传输适配

本文围绕 RustFS 开源仓库中 `crates/ecstore/docs/internode-transport/transport-capabilities.md` 这一设计文档展开,深入讲解 `InternodeDataTransportCapabilities` 能力声明结构的字段含义、TCP/HTTP 默认后端的真实上报值,以及能力与回退(fallback)语义的兼容约束。读者将理解:

gitblog_00506的博客 144

从 0 到 1 跑通 RustFS KMS 端到端测试:SSE-S3、SSE-KMS、SSE-C 加密链路完整拆解

RustFS 是一个开源的 S3 兼容高性能对象存储系统,它的服务端加密(SSE,Server-Side Encryption)能力完全建立在 KMS(密钥管理服务)之上。这篇文章带你从零跑通 RustFS KMS 端到端测试:先装好依赖、拉起本地后端完成一次真实加解密往返,再把链路切到 Vault Transit,最后拆解密钥删除窗口、SigV4 签名这些藏在测试背后的设计细节。跑完一遍,你会对

gitblog_00451的博客 332

RustFS 监控一条龙:它没有 /metrics 端点,而且是官方故意的

RustFS 没有 `/metrics`,是官方拒绝加,指标只能 OTLP 推出来。但不用引 collector:**Prometheus 自带接收端,一个启动参数 + 四行环境变量就通,0 个新容器**。本文给出 1.0.0 实测接入、指标名怎么自己捞、15 条告警规则、一套自建 Grafana 看板(grafana.com ID 25751)。⭐ 更值钱的是推送式采集的盲区:**RustFS 死了,Prometheus 的 `up` 全是绿的**;以及四个「望文生义」的坑,一个让我的告警永不触发。

fengquan8866的博客 477

RustFS Snowball 兼容性测试与 minio-go v7.3.0 夹具(Fixture)全解析

本篇技术指南围绕 RustFS 仓库中 `crates/zip/tests/fixtures/snowball/minio-go-v7.3.0/` 目录下的 Snowball 测试夹具展开,说明这些由 `github.com/minio/minio-go/v7.Client.PutObjectsSnowball` 生成的原始 TAR 与 S2 压缩请求体如何被 RustFS 的 Snowball

gitblog_00436的博客 271

RustFS:基于嵌入式元数据与Btrfs快照的S3兼容分布式文件系统

分布式文件系统是支撑现代云原生应用的核心存储基础设施,其核心挑战在于元数据一致性、对象读写性能与跨节点协同可靠性。传统方案如MinIO依赖etcd等外部协调服务,易在规模扩展时引发脑裂与延迟抖动;而RustFS另辟蹊径,将元数据直接嵌入对象头块,结合WAL日志同步实现强一致局部自治,并深度绑定Btrfs的CoW与快照能力,从底层重构了S3兼容系统的可靠性边界。该设计显著降低尾部延迟、提升小对象吞吐,适用于实时风控、异构硬件集群及Rust技术栈团队。本文详解其元数据架构、S3 API语义取舍与Btrfs生产级

weixin_31292729的博客 178

RustFS 1.0 GA发布:S3兼容分布式对象存储性能对比与MinIO迁移实战

对象存储是海量数据存储的基础设施,而S3协议已成为事实上的标准接口。分布式存储系统通过一致性协议保证数据可靠,Raft算法以清晰的状态复制机制实现强一致,同时也在性能与容错间寻求平衡。Rust语言以其内存安全和零拷贝特性,为存储引擎带来了更低延迟和更高吞吐的可能,特别适合小文件密集与资源敏感的私有化部署场景。本文从对象存储的核心挑战出发,剖析RustFS 1.0.0 GA的架构选型与技术价值,将其与MinIO在S3 API兼容度、性能实测、生态成熟度上进行对比,并给出基于rclone和mc的存储迁移实操方案

weixin_34293141的博客 398
上一篇: 从 MinIO 到 RustFS:不只是换语言,更是换一份协议自由
下一篇: RustFS 监控实战:OpenTelemetry Collector 把指标接入 Prometheus + Grafana
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值