当前位置:  开发笔记 > 编程语言 > 正文

在全球范围内同步大量数据的最佳方法是什么?

如何解决《在全球范围内同步大量数据的最佳方法是什么?》经验,为你挑选了2个好方法。

我有大量数据可以在全球4到5个站点保持同步,每个站点大约有半个TB.这会每天更改(添加或更改)大约1.4千兆字节,并且数据可以在四个站点中的任何一个处更改.

很大一部分(30%)的数据是重复的软件包(也许是打包的JDK),因此解决方案必须包含一种方法,即在本地计算机上存在这样的东西,然后抓住它们从另一个网站下载.

版本控制不是问题,这不是代码库本身.

我只是感兴趣,是否有任何解决方案(最好是开源)接近这样的事情?

我的婴儿脚本使用rsync不再削减芥末,我想做更复杂,智能的同步.

谢谢

编辑:这应该是基于UNIX的:)



1> Vinko Vrsalo..:

你试过Unison吗?

我用它取得了不错的成绩.它基本上是一个更聪明的rsync,也许就是你想要的.有比较文件同步工具的列表在这里.



2> ADEpt..:

听起来像BitTorrent的工作.

对于每个站点的每个新文件,创建一个bittorrent种子文件并将其放入集中的Web可访问目录中.

然后每个站点下载(通过bittorrent)所有文件.这将使您获得带宽共享和自动本地副本重用.

实际配方将取决于您的需要.例如,您可以为每个主机上的每个文件创建1个bittorrent种子,并将种子文件的修改时间设置为与文件本身的修改时间相同.既然你每天都会这样做(每小时?),最好使用像"make"这样的东西(重新)为新的或更新的文件创建种子文件.

然后,将所有主机文件从所有主机复制到集中位置("tracker dir"),并选择"仅在更新时覆盖"选项.这将为您提供所有文件的所有最新副本的一组torrent种子.

然后每个主机下载所有种子文件(再次,"覆盖如果更新设置")并开始所有种子文件的bittorrent下载.这将下载/重新下载所有新的/更新的文件.

Rince并重复,每天.

顺便说一下,正如你在评论中所说的那样,将不会"自行下载".如果文件已存在于本地主机上,则将验证其校验和,并且不会进行下载.

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有