我们通常使用 Subversion 将软件应用程序部署到客户端(客户端上的 svn 更新;单向)。目前,我们的一位客户遇到了问题,因为延迟很高(大文件下载速度很好),因为他们位于中国,而我们的服务器位于加拿大。 Subversion 在很长一段时间后就会超时并出现错误。
我们的应用程序有很多小文件(.aspx、.config 等)和一些较大的文件(.dll、.jpg),总共约 100mb-200mb。
我目前正在考虑做以下事情:
- 在服务器上进行本地 svn checkout
- 压缩结果
- 通过 FTP 或 rsync 将大 zip 文件发送到
外国机器
- 将文件解压到临时文件夹中
文件夹。
- 从该温度进行本地 rsync
文件夹到我们的典型安装
文件夹。
还有更好的解决方案吗?
- 设置 Subversion 镜像更近
到目的地? (我每个月只需要几个小时,但可能很难找到)
- 使用另一个版本控制系统? (git 是否有任何
更适合高延迟连接)?
- 有没有办法打包颠覆
补丁(包括二进制文件)
在目的地重新申请
而不是发送所有数据?
- 使用 DropBox(使用 Amazon S3)将文件传输到临时文件夹会更好吗?
在尝试之前,不要对整个小文件树执行 rsync。它不会对每个文件进行往返,它是管道式的,因此它应该与整个数据集上的其他任何文件一样快。 (与 TCP 可以在高延迟链路上将帧重新组装成有序数据包一样快。)
查看rsync 是如何工作的 http://www.samba.org/rsync/how-rsync-works.html解释它如何避免往返。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)