采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
直接往ceph集群写不就可以了吗,而且不用写完之后再转移
我补充一点,因为如果服务独立这个角度来看,直接透传ceph不合适,在大规模公司ceph是独立维护的
文件的校验和后续对文件的操作因为不在本地没法执行
分块上传无法执行,因为你不可能去ceph上进行合并数据
今后如果增加或更换存储对客户端暴露接口太多了,试想传一个文件还需根据后端存储目标的多少调用不同的接口多可怕。还是后端进行统一存储比较好
至于老师这里的ceph采用的RGW的形式进行调用ceph, 其实如果用cephFS来存储的话,挂载到本地磁盘,那就相当于在本地存一份数据了。因为是本地挂载,所以可以对文件进行上面的分块之类的文件操作了
不是吧,ceph rgw是兼容S3协议的呀,后端只要兼容S3协议, 无论是ceph,还是minio什么的,API都是兼容的,分块上传当然支持了。 文件校验也是可以的:https://aws.amazon.com/cn/premiumsupport/knowledge-center/data-integrity-s3/
但是API是有限的,比如如果对文件进行额外的处理就不行了。比如上传图片ZIP包,要求检验包内图片合法性,或者对文件二次处理,这些都要在本地化基础上进行的。当然如果就单一满足API的业务场景怎么传都可以。
同学你好,可以这么实现的,只不过实现的逻辑就不太一样了, 一般可以这样做:1)客户端向后端api获取ceph的上传入口url;
2)客户端上传文件到ceph集群;
3)客户端调用后端api,通知后端服务已经完成文件上传;
4)后端服务请求ceph接口验证文件是否已经完成上传;
5)后端服务更新用户文件信息;
6)后端服务响应客户端,最后返回文件已经上传的相关信息。
登录后可查看更多问答,登录/注册
紧随“云时代”技术潮流,分布式云存储系统,做第一代云程序员
1.3k 23
2.1k 13
1.6k 13
1.1k 13
1.2k 13