Files
nexus/wiki/concepts/S3-兼容对象存储.md
2026-04-22 08:02:59 +08:00

2.7 KiB
Raw Blame History

title, type, tags, date
title type tags date
S3-兼容对象存储 concept
storage
s3
minio
2025-12-29

S3-兼容对象存储

Definition

S3-兼容对象存储是指实现了 Amazon S3 API 的对象存储系统,可以在不修改代码的情况下替换 AWS S3 使用。包括 MinIO、Cloudflare R2、Backblaze B2、SeaweedFS 等。

Core S3 Concepts

概念 说明
Bucket 存储桶,类似顶级文件夹
Object 对象,文件及其元数据
Key 对象的唯一标识符(路径)
Region 区域,物理位置
ACL 访问控制列表
Policy IAM 策略
Presigned URL 预签名 URL限时访问

S3 vs Traditional Storage

特性 S3 对象存储 传统文件系统
访问方式 HTTP API 文件路径
扩展性 无限扩展 受限于单盘/RAID
成本 按量计费 一次性硬件
元数据 键值对灵活扩展 固定属性
原子性 最终一致性 强一致性
版本控制 原生支持 需额外配置

MinIO Configuration for Zipline

environment:
  STORAGE_ENGINE: s3
  S3_BUCKET: zipline-bucket
  S3_ENDPOINT: http://minio:9000
  S3_ACCESS_KEY: admin
  S3_SECRET_KEY: Abcd_1234
  S3_REGION: us-east-1
  S3_FORCE_PATH_STYLE: "true"  # 重要MinIO 需要此设置

关键参数 S3_FORCE_PATH_STYLE: "true"

  • MinIO 默认使用虚拟主机风格bucket.minio:9000
  • 部分应用需要路径风格minio:9000/bucket
  • 设置为 true 确保兼容性

Anonymous Access with mc

# 设置别名
mc alias set local http://192.168.3.17:9000 admin password

# 创建 bucket
mc mb local/zipline-bucket

# 设置匿名访问权限
mc anonymous set public local/zipline-bucket  # 公共读写
mc anonymous set download local/zipline-bucket # 仅下载

# 查看匿名策略
mc anonymous list local/zipline-bucket

Cloud Provider Comparison

提供商 S3 兼容 出口流量计费 最小存储量 特色
AWS S3 原生 $0.09/GB 功能最全
Cloudflare R2 免费 无出口费
Backblaze B2 $0.01/GB 性价比高
MinIO 0 自托管
SeaweedFS 0 大文件优化

Use Cases

  1. 备份存储:低频访问但需高持久性
  2. 静态资源CDN 回源存储
  3. 图床/媒体库:直接 URL 访问
  4. AI 模型权重:大文件存储

Connections