零成本博客实战②:图床扩容,从多仓库分片到对象存储

一句话结论:图床先用「多仓库分片」扛到 5GB 左右,超过这个量级或需要国内加速、图片处理、防盗链时,再换对象存储;换的时候保留旧链接,新图走新源。

上一篇讲完了三个仓库怎么分工。这一篇讲一个迟早会碰到的问题:图片放不下了怎么办。

一、先算清一个仓库能装多少

GitHub 官方建议仓库控制在 1GB 以内,单文件不超过 100MB。按技术博客的图片分布估算:

图片类型 典型大小 一个 1GB 仓库能放
截图(PNG,1080p) 150~400KB 约 3000 张
封面(JPG,压缩后) 80~150KB 约 7000 张
流程图 / 架构图(PNG) 40~120KB 约 10000 张
GIF 动图 2~8MB 100 多张

按一周两篇、一篇 3 张图算,一年约 300 张,1GB 能撑好几年。真正的风险不是数量,是随手塞进来的大文件——一张 6.8MB 的 GIF 顶得上 50 张截图。

所以第一条规则不是扩容,而是:进仓库前先压。截图转 PNG-8 或 WebP,GIF 换视频或静态图,封面压到 200KB 以内。

二、分片:images-1 到 images-n

容量真到瓶颈时,最省事的方式是按时间或分类切开:

blog-images-1    ← 2026 年的图
blog-images-2    ← 2027 年的图
blog-images-3    ← 按需再开

路径结构完全不变,只换仓库名:

https://cdn.jsdelivr.net/gh/your-name/blog-images-1@main/blog/05.ai/03.rag/01/a.png
https://cdn.jsdelivr.net/gh/your-name/blog-images-2@main/blog/05.ai/03.rag/01/b.png

好处:

  • 老图不用迁移,老链接永久有效
  • 每个仓库都在 1GB 以内,克隆、构建都不受影响
  • 成本仍然是 0

代价:得记住哪张图在哪个仓库。解决办法是在路径里带年份(blog/2027/...),或者在文章 frontmatter 里记一个 imageRepo 字段。

三、jsDelivr 的边界

用 jsDelivr 加速 GitHub 图床很香,但它不是没有上限:

边界 表现 应对
单文件过大 请求失败或超时 单图压到 1MB 以内
仓库体积过大 加载变慢、偶发 5xx 分片,单仓库控制在 1GB
首次访问 未命中缓存时较慢 发文后自己先访问一遍预热
内容更新 缓存有延迟 换文件名而不是覆盖同名文件
极端情况 服务不可用 保留原始 raw 地址作为兜底

最容易被忽略的是缓存:同名文件覆盖后,CDN 可能还在返回旧图。做法很简单——图片永不覆盖,只新增,改图就换文件名。

四、什么时候该换对象存储

分片能撑很久,但下面这些情况,Git 仓库就不合适了:

触发条件 说明
总量超过 5GB 仓库克隆、CI 拉取都会变慢
需要国内稳定加速 jsDelivr 在国内可用性会波动
需要图片处理 缩略图、水印、格式转换,对象存储自带
需要防盗链 / 签名 URL Git 仓库做不到
需要按目录统计流量 对象存储有访问日志

换句话说:只要你还只是「存图 + 外链」,Git 仓库够用;一旦开始要「图片服务」,就该换。

五、对象存储的几个选项

方案 免费额度 适合场景
Cloudflare R2 10GB 存储,出站流量免费 个人博客首选,绑定自定义域名
阿里云 OSS / 腾讯云 COS 新用户有试用额度 国内访问稳定,按量计费
七牛云 有免费额度 图片处理能力强
Backblaze B2 + Cloudflare 10GB 免费 便宜,配置略麻烦

具体价格和额度以各家官网为准,这里只给选型顺序:先 R2(免费且出站不收费),国内访问要求高再看 OSS/COS。

六、迁移步骤:别一次全换

真要迁移,按这个顺序,风险最低:

  1. 保留旧图床:老文章继续用旧链接,不动
  2. 新图走新源:新文章直接上传到对象存储
  3. 双写期:重要文章的图备份到新源,但链接暂不改
  4. 批量替换:确认新源稳定后,用脚本把 Markdown 里的域名批量替换
  5. 验证:抽查 20 篇的图片是否 200,再清理旧仓库

关键是第 1 步:旧链接永远不要删。图床迁移最常见的翻车,就是「迁移完把旧仓库删了」,结果老文章全是破图。

七、我的结论

  • 现在:Git 仓库分片 + jsDelivr,够用且免费
  • 触发条件:超过 5GB,或者开始需要图片处理/防盗链
  • 迁移原则:旧链接不动,新图走新源,双写一段时间再切换

一句话:图床的终局不是「更大的免费仓库」,而是「按需付费的图片服务」。在此之前,分片是最划算的过渡方案。


作者原创声明

posted @ 2026-10-31 22:51  amyaxy  阅读(10)  评论(0)    收藏  举报