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

240 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: 后端概览
createTime: 2025/11/09 00:26:55
permalink: /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
```bash
# 使用 aws cli 迁移
aws s3 sync s3://r2-bucket/ s3://s3-bucket/ \
--source-profile r2 \
--profile s3
```
### S3 → R2
```bash
# 使用 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
```bash
# 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 配置](./r2.md)** - 详细配置步骤
- **[Amazon S3 配置](./s3.md)** - AWS S3 设置
- **[GitHub 存储配置](./github.md)** - GitHub 仓库配置
## 常见问题
### Q: 可以中途更换存储后端吗?
**A:** 可以!只需修改 `.env` 文件中的 `STORAGE_TYPE` 环境变量。但需要:
- 手动迁移现有文件
- 重新配置凭证
### Q: 多个后端能同时使用吗?
**A:** 目前不支持,但可以:
- 部署多个应用实例
- 每个实例使用不同后端
- 通过负载均衡器分流
### Q: 有免费额度吗?
**A:**
- **R2**: 每月前 1000 万请求免费 ✅
- **S3**: 新用户 12 个月免费套餐
- **GitHub**: 完全免费(通过 GitHub
### Q: 如何监控使用成本?
**A:**
- **R2**: Cloudflare 控制面板实时显示
- **S3**: AWS 成本管理器
- **GitHub**: 不产生成本
## 获取帮助
- 📖 [R2 详细配置](./r2.md)
- 📖 [S3 详细配置](./s3.md)
- 📖 [GitHub 详细配置](./github.md)
- 🐛 [提交 Issue](https://github.com/RhenCloud/Cloud-Index/issues)