gpt4 book ai didi

java - 寻找在 Java 服务器之间传输大文件的好方法

转载 作者:搜寻专家 更新时间:2023-10-30 22:19:04 24 4
gpt4 key购买 nike

项目中有一个主要的DB Server,其他安装在不同地方的服务器维护着自己本地的Databases。我们必须允许每个系统将其本地数据库更新到主数据库上的任何版本。所有服务器运行Java环境。

传输文件的方式似乎有很多种:简单的网页下载页面、网络服务、FTP、Socket……您认为哪种方式更适合这种情况?

一般过程如下:

1、Client发送一串version给Server。
2、服务器生成补丁并发回。
(由于补丁可能太大,应该分成几部分)

而我正在考虑的是程序 2 中的内容。
选择真的很多。

1、我应该先统计要取的行数,然后算出应该分成几份。

然后我遇到了一个选择,我是应该只向客户端发回部件的数量还是链接列表,如果连接基于网络请求,客户端使用这些链接来请求每个部件,或者我可以推送如果服务器是通过套接字连接的,则一一返回,或者我可以执行以下步骤:

2,我可以从服务器数据库中逐个获取所需的记录,每次获取有限的行,作为 Java List 返回,立即将 List 序列化为一个文件,以便为下一部分清空内存,所以我得到一个文件夹。并且我将文件压缩成一个文件并发回,避免客户端再次请求。

并且生成的补丁文件可以留给其他客户端在请求同一个版本时使用。

我认为所有方法都可行,但您认为哪种方法更好?或者你知道更好的方法吗?
让我们分享。

最佳答案

你可以尝试使用Netty用于从服务器到客户端的大文件传输。

Netty主页上有不错的example如何通过网络发送大文件。

关于java - 寻找在 Java 服务器之间传输大文件的好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6772928/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com