采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
问题: os.Open(pubData.CurLocation), 会失败, 以下场景: 1 如果Transfer服务和upload服务分别部署在不同的物理机. 2 同一个物理机上有不同的文件系统,如容器
同学你好,感谢反馈,看了下目前异步转移确实有这个bug。计划修复方法:(1)接收文件上传时不写上传节点本地,直接同步写ceph(同一局域网内速度快),异步从ceph往oss迁移;
(2)接收文件上传时写本地,MQ队列增加上传节点标识;转移时对某一条消息判断,根据其标识来确认应当是哪个节点上的转移服务。
确定按其中一个方法来修改后再更新到git仓库,感谢反馈~~
老师,把转移服务和上传服务合并成一个服务,然后进行横向伸缩多个实例,这样会不会好点?
如果只是写ceph的话,和上面的第一个方案基本类似的,上传和转移ceph都是在一个服务内完成,这样确实更好;但如果还要写oss, 除非oss和上传节点之间的文件传输是走局域网的,否则上传文件时同步写oss会对传输性能有些影响,这种情况下采用客户端直传oss的方案会更好些。
登录后可查看更多问答,登录/注册
紧随“云时代”技术潮流,分布式云存储系统,做第一代云程序员
1.3k 23
2.1k 13
1.6k 13
1.2k 13
1.3k 13