springboot做的后端,前端上传的文件,后端如何存储到另外一个服务器呀(非项目服务器)?

两台服务器A,B部署的应用,该应用需要上传下载挺多的文件(word,excel等),这两台服务器包了个f5做的集群。

这种情况下,如何做共享存储呢?


回答:

个人拙见,辣鸡后端,思路仅供参考,也可以纯当我放个屁;

角色说明:A=你的机子;B=目标机器;C=前端

  1. B服务器写一个接口用于接收文件,A调用这个接口把文件传过去;
  2. 直接让C掉那个B接口,穿那边去;
  3. 如果不想再B上在跑个服务,就换个方式传吧,比如FTP、SSH...等

总结:A→B总要有个传输媒介,要么现成的服务提供(如方案3),要么你自己写个服务(如方案1),要么直接让前端传(方案2)


回答:

不知道有没有理解错问题:
首先服务器A把文件传输到另一台服务器(称作服务器B)的过程,与前端把文件上传到服务器A没什么区别。
看服务器B提供什么服务,它是一个数据库/对象存储服务/普通的HTTP服务器/只有基础网络的linux主机,用对应的协议和接口(一般也就是四层用TCP,往上用HTTP,RPC等方式)传递就好了。甚至服务器A用scp,ftp之类的方式直接传输也可以。
以HTTP服务为例,服务器A是会实现一个HTTP Client的,这和浏览器的机制本质一样。


回答:

集群的话要保证不管是从A还是B访问文件都是一样的,那直接用云服务商的存储服务,或者自建类似minio的存储比较简单,用云服务商的就类似申请C,如果是自建的minio,你既可以放到A也可以放到B也可以再申请个C.


回答:

我理解,你不想加服务器,又为了AB两个服务器都可以提供文件下载,你要做的是在AB两个服务器做上传后文件的同步,以保证f5请求下载的时候都可以下载到文件,这样只要在AB服务器上对上传文件目录配置文件同步就可以了,但是这个有时序风险,就是没同步完成,如果f5漂移到未同步完成服务器,会无法下载
如果存储文件较多,还是建议专门的C服务器来做文件服务器,避免时序问题,同时应用和文件解耦,方便运营管理,和后期扩容

以上是 springboot做的后端,前端上传的文件,后端如何存储到另外一个服务器呀(非项目服务器)? 的全部内容, 来源链接: utcz.com/p/944375.html

回到顶部