Files
Cloud-Index/docs/storage/overview.md
2025-11-09 14:21:55 +08:00

5.6 KiB
Raw Blame History

title, createTime, permalink
title createTime permalink
后端概览 2025/11/09 00:26:55 /storage/overview

存储后端概览

Cloud Index 支持多个存储后端,可根据需求选择合适的服务。

后端对比

特性 Cloudflare R2 Amazon S3 GitHub Repository
定价模式 流量免费 + 请求费 流量费 + 请求费 + 存储费 免费(通过 GitHub
价格水平 💚 最低 💛 中等 💚 免费
全球覆盖 全球 CDN 全球 CDN CDN 加速可选
易用性 简单 ⚠️ 中等 简单
可扩展性 无限制 无限制 ⚠️ 仓库大小限制1GB
性能 🚀 优秀 🚀 优秀 🚀 优秀(配合 CDN
版本控制 自动 Git 历史
适用场景 个人/小团队 企业 开源/文档

快速选择指南

选择 Cloudflare R2

如果你需要:

  • 最低成本
  • 快速启动
  • 全球加速
  • 简单配置

推荐用途:

  • 个人云盘
  • 小团队文件存储
  • 媒体文件托管
  • 备份存储

成本估算(月均):

  • 1GB 存储 + 1 万请求 = $0.001 左右(极低)

选择 Amazon S3

如果你需要:

  • 完整功能
  • 企业级服务
  • 高可靠性
  • 专业支持

推荐用途:

  • 企业级应用
  • 生产环境存储
  • 大规模数据存储
  • 需要合规性的应用

成本估算(月均):

  • 1GB 存储 + 1 万请求 = $0.023 左右(按需计费)

选择 GitHub Repository

如果你需要:

  • 完全免费
  • 版本控制
  • 简单易用
  • 便于备份

推荐用途:

  • 文档存储
  • 配置文件
  • 小文件共享
  • 开源项目资源
  • 博客图片

成本估算:

  • 完全免费

功能特性对比

文件操作

操作 R2 S3 GitHub
上传
下载
删除
列表
重命名
复制 ⚠️ (需支持)
移动 ⚠️ (需支持)

高级功能

功能 R2 S3 GitHub
公开访问 URL
预签名 URL
CDN 集成
版本控制 ⚠️ (付费)
生命周期策略
访问控制 (Git 权限)

性能基准

基于 1 千次请求、1GB 文件的测试:

操作 R2 S3 GitHub
列表 ~50ms ~80ms ~150ms
上传 ~300ms ~350ms ~500ms
下载 ~100ms ~120ms ~200ms
删除 ~100ms ~120ms ~200ms

注:实际性能取决于网络距离和文件大小

成本对比(月均)

假设场景:

  • 存储10GB
  • 月请求100,000
  • 流量500GB
服务 存储费 请求费 流量费 总计
R2 免费 $0.36 免费 $0.36 💚
S3 $2.30 $0.50 $4.57 $7.37
GitHub 免费 免费 免费 免费 🎉

迁移指南

R2 → S3

# 使用 aws cli 迁移
aws s3 sync s3://r2-bucket/ s3://s3-bucket/ \
  --source-profile r2 \
  --profile s3

S3 → R2

# 使用 aws cli 迁移
aws s3 sync s3://s3-bucket/ s3://r2-bucket/ \
  --source-profile s3 \
  --profile r2 \
  --endpoint-url https://account.r2.cloudflarestorage.com

GitHub → R2

# 1. 从 GitHub 克隆仓库
git clone https://github.com/user/repo.git
cd repo

# 2. 使用工具上传到 R2
# 使用 rclone、aws cli 等工具

如何选择

决策树

是否需要完全免费?
├─ 是 → GitHub Repository ✅
└─ 否
    └─ 是否需要企业级功能?
        ├─ 是 → Amazon S3 ✅
        └─ 否 → Cloudflare R2 ✅(最佳平衡)

快速决策表

场景 推荐 理由
个人博客 GitHub 免费且简单
小团队文件 R2 成本低,性能好
企业应用 S3 功能完整,支持好
大规模存储 R2 流量免费,成本最低
版本控制重要 GitHub 自动 Git 历史

后续配置

选择好存储后端后,按照相应指南进行配置:

常见问题

Q: 可以中途更换存储后端吗?

A: 可以!只需修改 .env 文件中的 STORAGE_TYPE 环境变量。但需要:

  • 手动迁移现有文件
  • 重新配置凭证

Q: 多个后端能同时使用吗?

A: 目前不支持,但可以:

  • 部署多个应用实例
  • 每个实例使用不同后端
  • 通过负载均衡器分流

Q: 有免费额度吗?

A:

  • R2: 每月前 1000 万请求免费
  • S3: 新用户 12 个月免费套餐
  • GitHub: 完全免费(通过 GitHub

Q: 如何监控使用成本?

A:

  • R2: Cloudflare 控制面板实时显示
  • S3: AWS 成本管理器
  • GitHub: 不产生成本

获取帮助