最近项目中有这样的需求:
- 通过上传图片,然后,后台经过处理把结果(json 格式)返回调用方。
- 通过传递图片的 url, 服务端通过下载 url 对应的图片,然后,服务器对下载的图片处理,把处理结果(json 格式)返回给调用方。
PS: 服务端需要保存图片。 之前都是通过图片,保存在服务器特定目录下,然后把路径传递给处理函数。
现在由于处理图片的服务器要扩展为多台( api 服务器还是一台),所以就想把图片存放在 s3 上面,然后,把 s3 上面图片对应的 url 传递给处理函数。但是,现在我的做法是:
- 把调用者上传到服务器图片数据再次上传到 s3,然后,获取对应的 url,给后面函数处理。
- 如果调用者是通过传递图片 url 上传图片数据,服务端通过下载 url 对应的图片,然后在上传到 s3,最后再获取图片在 s3 的 url,给后面的函数处理。
问题: 改为 s3 存放图片之后,响应时间相差很多,有什么方法可以优化?或者是我的做法欠妥还有更好的方法?