这种网盘技术架构怎么实现

83次阅读

共计 717 个字符,预计需要花费 2 分钟才能阅读完成。

上传到专用的上传机器,比如 up.xxx.com

上传完成后,给出下载链接 down.xxx.com/aaa.zip

然后同步到存储集群里的某台机器,比如 s88.xxx.com

那么问题来了,如何实现,在同步前(在专用的上传机器)和同步后(在存储机里),使用同一个域名下载到文件?

网友回复:

注册 这个问题已经超纲了。MJJ 们表示不会

kmbeer emm 完全听不懂啥意思

vzker 同步前后都用地址重写就可以了,就相当于短网址,虽然生成的短网址地址是固定的,但是最终跳转的地址,数据库是可以控制的。

zhujizixun 说起来很复杂也很简单,加钱。

feixiang 描述不清看不懂

飞燕 有没有这样一个可能,三个域名都是在同一台服务器

hang6 卧槽   是个办法

gdtv 建一张表记一下或者 redis 存一存(其实建表记一下一般是必须的),然后根据情况直接,请求下载地址的 api 之后,直接根据查表情况,去对应的机器查了然后传输就行了

kmbeer 我提供一个思路,毕竟我也不是专业的,只能供你参考下。数据库结构也简单。程序做一个判断就好了。比如 /2022070100001.zip 虚拟地址 数据库需要几个列就可以了,分别是状态、文件虚拟路径,上传机文件真实路径、存储机文件真实路径。数据库有一个标记列 标记文件当前存在的状态,0 就是都没有存放,1 就是存在上传机上,2 就存在存储机。当上传开始,就写 0,上传机收到文件并检验完整性,写入上传机真实路径,并修改状态为 1。当后台同步程序把上传机的文件同步存储机上后,写入到存储机文件真实路径,修改状态 2,上传机检验下上传机和存储机的 md5 是否一致,如果一致,就删掉上传机的数据。剩下的就是程序来根据状态跳转了。

正文完
 0