关于异步转移的问题

来源:11-7 基于Kubernetes的容器化部署演示

carefree_

2020-07-16

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

写回答

1回答

xiaomo

2020-07-17

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

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

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

1
2
xiaomo
回复
carefree_
如果只是写ceph的话,和上面的第一个方案基本类似的,上传和转移ceph都是在一个服务内完成,这样确实更好;但如果还要写oss, 除非oss和上传节点之间的文件传输是走局域网的,否则上传文件时同步写oss会对传输性能有些影响,这种情况下采用客户端直传oss的方案会更好些。
2020-07-17
共2条回复

Go实战仿百度云盘-实现企业级分布式云存储系统

紧随“云时代”技术潮流,分布式云存储系统,做第一代云程序员

1077 学习 · 494 问题

查看课程