又拍云上的文件和本地服务器上的文件同时存在,如何实现自动切换
用户在上传文件的时候,把文件上传到我们的服务器的同时文件被同步到又拍云.
所有上传的文件都会在数据库中记录相关信息.而且会有两个访问地址:
一个是我们服务器的,如:
http://img04.xxxx.com/13/7/09/202d3edae64de8bb95a2e1d35dc27a9d.jpg
一个是直接从又拍云的,如:
http://img04-locl.xxxx.com/13/7/09/202d3edae64de8bb95a2e1d35dc27a9d.jpg
如果文件成功上传到我们的服务器,但在同步又拍云的过程中出错了,会引用的是我们服务器的地址, 如果同步成功就使用又拍云的地址,我们后台会定期把未同步成功的文件同步到又拍云.
问题:
文件同步到又拍云失败后,其他地方引用我们服务器的文件地址,之后定时任务把文件同步到又拍云,怎么去更改其他地方引用的这个地址
我能想到的方法:
- 记录引用这个图片的相关信息,定时任务同步成功后,修改之.<记录的引用数据会很大>
- 使用一个代理地址,这个代理来判断,是输出本服务器的文件,还是又拍云的...<感觉这种很不爽>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
直接使用七牛的镜像存储功能,这样用户访问到的是七牛的资源,如果七牛这边没有数据就会从你的源站中取,并存储在七牛(不是像 CDN 那样的缓存),这样下次用户就能直接从七牛这边取数据了。
关于镜像存储,参考这个链接:http://blog.qiniudn.com/morrior-storage.md.html