请教下,集群环境下大家都是怎么上传较大文件的?

以上传图片为例,目前我用的方法是上传至某台机之后再转存至云存储,用户统一从云存储下载。带来的问题是用户上传一张图需要等待两次上传的时间(一次客户端到服务器,一次服务器到云存储),而且对服务器的上行带宽要求较高。这样做功能没问题,但是体验差了点。

优化方法是上传至服务器之后就直接让接口返回,同时有个后台任务不断从服务器上传至云存储。在上传云存储成功之前可以直接从服务器下载。但是在集群环境下,我需要知道图片究竟被传在哪个服务器。或者说即使可以记录存在哪台机的信息,但是让负载均衡查数据库显然不行。如何准确快速的访问到又能兼顾扩展性(随时加入新机到集群中)?

再一种方案是客户端直接上传云存储,只通过接口提交云存储下的路径。弊端主要是云存储密钥泄露问题。

比较倾向第二种,但是遇到的问题也麻烦,有点迷茫,不知道大家都是怎么做的。

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
leo
最佳答案

直接上传云存储怎么可能会有泄露密钥的风险,靠谱的云存储都有提供安全的前端上传功能

5年前 评论
讨论数量: 1
leo

直接上传云存储怎么可能会有泄露密钥的风险,靠谱的云存储都有提供安全的前端上传功能

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!