将对方透过 API 传来的照片档传到另一台服务器?
假设目前有三台服务器(以下均为纯 backend ,无 frontend)
A是测试服务器,域名为 dev.123.com
B是正式服务器,域名为 prod.123.com
C是专门放image服务器,域名为 images.123.com
目的是希望将对方丢过来的照片丢到 image 服务器去,且回传正确 URL 为 images.123.com/....
现在我想到有两个可能的传输方式
第一个:
接收照片的 API 程序会在 A和B(测试和正式,环境根据域名判断)
所以当对方透过(不同环境的) API打来时,我能够将他附带的照片丢到 image服务器 ?且在AB服务器时就已经决定位置及照片名称,才可回传正确的URL给对方
第二个:
将接收照片的API程序写在 C,请对方打 C的API,再看用什么取得正确照片URL?
请问大神有无其他方式建议?谢谢!
我發現這樣會導致我的 AB運作速度呢
似乎是丟到 C的時間太長,取自於圖片的大小
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不知道你纠结什么,这个其实不难,只是你将以前放在一台服务器实现的功能分离了出来,A 上传图片到 C,C处理之后会将图片的URL地址返回给A,A拿到这个地址保存起来即可,另,C需要提供一个对外上传图片的接口,不过为了安全性,你需要对C提供的接口加密或者做IP白名单,只有合法的请求才可以上传.
a/b -> c
不管你图片是咋个来的,既然你能拿到,你就能传出去,你图片最终是要放到资源服务器c的。
a/b 收到图片以后做相应的处理,然后将图片发送到c,从c的返回得到对应的图片地址,然后a /b进行存库或者其他操作。
还有个办法是,配置服务器间的文件自动同步,也相当于AB转发一次。但是比你用程序实时处理更可靠,更简单。可以实时同步,或者定时同步。但是占流量,建议定时,放到夜里自动执行。执行同步时,如有必要可以同时更新数据库里的图片信息。以后就可以直接访问图片服务器获取图片。