使用java写一个图片服务器,怎么设计多台服务器备份和恢复?

有个需求说是为了防止一台服务器上的图片被删,要求提供照片多服务器备份能力、
提供多服务器恢复能力。就是一个主服务器接收完图片上传后,从服务器(不确定多少台)要同步文件,然后主服务器文件删了后找不到文件要从这些同步的服务器恢复文件。该怎么去设计


回答:

使用阿里云、腾讯云等云存储就好了。自动多地区备份,可以开启文件多版本,安全、高可以,价格还便宜。

如果一定要自己实现,可以搜索一下分布式存储服务,用开源代码搭建自己的分布式存储中心,然后将文件上传到存储中心。比如说像:minIO、Ceph


回答:

可以考虑通过引入分布式存储的构件来解决,比如通过引入minio集群、HDFS等,通过构件自己的分布式策略来处理文件备份的需求。比如使用HDFS集群,可以先根据实际的业务需求评估要有多少节点,每个文件创建多少副本,这样你在向集群上传文件时,集群会自己在多个节点上创建文件副本,你的主服务只需要从整个集群中存取文件,不需要考虑如何做负载均衡、如何备份等等。


回答:

这个要利用多个服务器做数据高可用,通常是要用分布式的存储系统(集群)。
使用集群的好处是,当集群内的节点挂掉之后,数据一般不会丢失,因为集群内其他节点会有冗余。

但是这个只要文件对象被删除了,在集群中的数据还是会被删除掉的,没有恢复。

我觉得,删除操作可以改成逻辑删除,服务器本地的文件资源不删除或者延迟删除。后端存储系统选择就多了,那么用本地存储或者存储系统都行。

假设这个业务一定要物理删除文件,我可能会考虑直接用第三方程序去监控文件的修改和新增的状态,同步文件到其他服务器。删除的文件的操作只在主服务器上操作。

以上是 使用java写一个图片服务器,怎么设计多台服务器备份和恢复? 的全部内容, 来源链接: utcz.com/p/945387.html

回到顶部