前言

原本以为oss对象存储可以通过cdn进行缓存 实现高可用的效果 实际操作下来发现 oss一旦源站挂了 已经缓存了的图片会瞬间失效 跟传统图床框架源站挂了 依旧能打开 截然不同

问了AI 他的回答不像人话 我看不懂
我猜测大概就是oss有一套校验机制 虽然在oss的文件可以被各大cdn缓存上 但源站挂了 请求校验过不去 cdn就立马失效了
实测也正是这个结果 虽然并不知道其中到底啥原因...

CDN配置

静态文件均设置了边缘缓存一个月 正常来说 一旦被缓存 这个时间段哪怕源站挂了 图片也依旧可以访问

OSS测试

关掉源站 用itdog进行全国测试 立马绝大多数节点报404错误 极少部分节点200可加载 但随着时间的飞快流逝 再测 全军覆没

图床测试

关掉源站 图片依旧可以访问 因为我的节点多 自己的cdn跟cloudflare都有 有一些节点估计是没缓存上 少部分节点爆了404 但大部分节点依旧可以加载出来 且存活时间不短 随着时间的流逝 大部分也都没有回源

总结

虽然oss拿来做图床便携性无敌 体验感无敌 但似乎还是达不到传统图床的那种持久性 也或许是我不知道怎么设置oss的缓存参数 也或许是oss的运行机制就是如此?应用场景不同 效果也不同罢了
仔细想想 对象存储不仅仅有图床这一功能啊 还可以视频床 文档床... 只要文件被cdn缓存了能正常生效 实际也没多大问题
就只是多了一个跟源站验证握手的步骤罢了 我看了流量走向 只要请求源站成功了 被缓存的文件依旧是从cdn上传给用户的 源站是没有消耗流量的

选择

如果你想要图片啊 文件啊 既能被缓存 又希望这个文件被删除了 无需清空cdn缓存 就能立马生效 就选oss
如果你想要图片长期在线 哪怕删了源文件 但只要被cdn缓存上了 也还能访问加载就还是老老实实用图床

谢谢GPT大人对我的认可

最后修改:2024 年 09 月 23 日
如果觉得我的文章对你有用,请随意赞赏