mirror of
https://github.com/RhenCloud/Cloud-Index.git
synced 2025-12-06 15:26:10 +08:00
5.6 KiB
5.6 KiB
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 历史 |
后续配置
选择好存储后端后,按照相应指南进行配置:
- Cloudflare R2 配置 - 详细配置步骤
- Amazon S3 配置 - AWS S3 设置
- GitHub 存储配置 - GitHub 仓库配置
常见问题
Q: 可以中途更换存储后端吗?
A: 可以!只需修改 .env 文件中的 STORAGE_TYPE 环境变量。但需要:
- 手动迁移现有文件
- 重新配置凭证
Q: 多个后端能同时使用吗?
A: 目前不支持,但可以:
- 部署多个应用实例
- 每个实例使用不同后端
- 通过负载均衡器分流
Q: 有免费额度吗?
A:
- R2: 每月前 1000 万请求免费 ✅
- S3: 新用户 12 个月免费套餐
- GitHub: 完全免费(通过 GitHub)✅
Q: 如何监控使用成本?
A:
- R2: Cloudflare 控制面板实时显示
- S3: AWS 成本管理器
- GitHub: 不产生成本
获取帮助
- 📖 R2 详细配置
- 📖 S3 详细配置
- 📖 GitHub 详细配置
- 🐛 提交 Issue