请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于异步转移的问题

问题: os.Open(pubData.CurLocation), 会失败, 以下场景:
1 如果Transfer服务和upload服务分别部署在不同的物理机.
2 同一个物理机上有不同的文件系统,如容器
图片描述

正在回答

1回答

同学你好,感谢反馈,看了下目前异步转移确实有这个bug。计划修复方法:
(1)接收文件上传时不写上传节点本地,直接同步写ceph(同一局域网内速度快),异步从ceph往oss迁移;

(2)接收文件上传时写本地,MQ队列增加上传节点标识;转移时对某一条消息判断,根据其标识来确认应当是哪个节点上的转移服务。

确定按其中一个方法来修改后再更新到git仓库,感谢反馈~~

1 回复 有任何疑惑可以回复我~
  • 提问者 carefree_ #1
    老师,把转移服务和上传服务合并成一个服务,然后进行横向伸缩多个实例,这样会不会好点?
    回复 有任何疑惑可以回复我~ 2020-07-17 07:16:15
  • xiaomo 回复 提问者 carefree_ #2
    如果只是写ceph的话,和上面的第一个方案基本类似的,上传和转移ceph都是在一个服务内完成,这样确实更好;但如果还要写oss, 除非oss和上传节点之间的文件传输是走局域网的,否则上传文件时同步写oss会对传输性能有些影响,这种情况下采用客户端直传oss的方案会更好些。
    回复 有任何疑惑可以回复我~ 2020-07-17 23:31:32
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信