上传到专用的上传机器,比如up.xxx.com
上传完成后,给出下载链接 down.xxx.com/aaa.zip 然后同步到存储集群里的某台机器,比如s88.xxx.com 那么问题来了,如何实现,在同步前(在专用的上传机器)和同步后(在存储机里),使用同一个域名下载到文件? |
这个问题已经超纲了。 MJJ们表示不会 |
emm 完全听不懂啥意思 |
同步前后都用地址重写就可以了,就相当于短网址,虽然生成的短网址地址是固定的,但是最终跳转的地址,数据库是可以控制的。 |
说起来很复杂也很简单,加钱。 |
描述不清看不懂 |
有没有这样一个可能 ,三个域名都是在同一台服务器 |
卧槽 是个办法 |
建一张表记一下或者redis存一存(其实建表记一下一般是必须的),然后根据情况直接,请求下载地址的api之后,直接根据查表情况,去对应的机器查了然后传输就行了 |
我提供一个思路,毕竟我也不是专业的,只能供你参考下。数据库结构也简单。程序做一个判断就好了。比如 /2022070100001.zip 虚拟地址 数据库需要几个列就可以了,分别是状态、文件虚拟路径,上传机文件真实路径、存储机文件真实路径。 数据库有一个标记列 标记文件当前存在的状态,0就是都没有存放,1就是存在上传机上,2就存在存储机。当上传开始,就写0,上传机收到文件并检验完整性,写入上传机真实路径,并修改状态为1。当后台同步程序把上传机的文件同步存储机上后,写入到存储机文件真实路径,修改状态2,上传机检验下上传机和存储机的md5是否一致,如果一致,就删掉上传机的数据。剩下的就是程序来根据状态跳转了。 |