答案1
IIRC,Jigdo 允许您分解 ISO 中的文件并从其他服务器提取各个文件。
例证:Jigdo 曾经是获取 Debian ISO 文件的首选方式。您下载的 Jigdo 配置文件将指示 Jigdo 客户端使用 FTP 或 HTTP 协议从常规分发服务器/镜像下载所有文件。然后,它将构建 ISO 客户端。它可以从现有的 ISO 开始并“更新”它或添加您之前没有时间下载和添加的内容。但是,如果 ISO 中的某个 .deb 文件(已压缩)发生更改,则必须下载整个 .deb 文件才能重建 ISO。
RSync 会查看您已下载的内容以及服务器上的“当前”内容,下载差异并修补文件。因此,如果您下载了 650 MB ISO 文件,则对其运行 RSync 以及该 ISO 文件的服务器端版本将仅下载更改的内容。这允许您相对于另一台服务器“维护”文件夹或文件。然而,该服务器需要支持 RSync 协议,并且每当有人想要与其同步时,它都会有相当高的 CPU 负载。最后,它对于压缩文件的效果不太好,因为对未压缩版本的微小更改可能会级联到对压缩版本的一些非常重大的更改。因此,更改 ISO 中 .deb 文件中的几个文件将导致下载整个新的 .deb 文件,这与 Jigdo 不同。
ZSync 通过 HTTP 工作,因此不需要特殊的协议支持。 ZSync 将 CPU 负载下推到客户端,而不是服务器,因此当您有大量用户与集中式服务器同步时,它的效果会更好。最后,对未压缩版本的文件进行微小更改将导致 ZSync 上的下载量非常小,即使生成的压缩文件有重大更改也是如此。如果您有一个包含数千个 .deb 文件的 ISO,并且您更改了其中一个 .deb 文件中的几个文件,ZSync 将下载足够的信息来修补过时的 .deb 文件并根据需要重新压缩它,然后验证CRC或MD5签名,就可以了。使用的带宽更少,服务器端 CPU 使用更少,无需特殊协议。
当他们能够将所有这些与 BitTorrent 合并时,他们就获得了胜利。当这种情况发生时:
- 与服务器同步会告诉您需要进行哪些更改
- 对等点将提供所有数据,并行提供,确保总下载速度最大化
- 来自服务器的校验和和哈希值将确保没有对等方提供虚假数据
这将使用更少的服务器带宽并导致更新速度更快。有人知道这样的协议/系统吗?上次我检查过,BitTorrent 不允许您“更新”文件的现有副本。
答案2
- zsync 是正在积极开发中
- 吉多是'现在处于“维护模式”,开发已停止.'
对于一个新项目来说,使用积极开发的软件比冻结的软件有很多优势。一年后您的项目需要什么?Jigdo 会提供该新功能吗?
现在,我找不到证据来支持这一点,所以请有人纠正我。我相信:
- jigdo 允许客户端从多个不同的镜像下载块,类似于 bittorrent。这大大减轻了中央镜子的负载。
- zsync 是为单个中央镜像而设计的。
答案3
jigdo 可能很难使用。在当今世界,如果您需要分布式文件分发(天哪,这听起来是不是很奇怪),那么最好使用 BitTorrent。它可能对更新或渐进式改进没有那么大的作用,但它是一种在整个互联网上分配负载的绝妙方式,当然,前提是有足够的参与。
如果您需要的是一种进行增量更新的方法,也许作为扇出站点的中央镜像,甚至从镜像集合到最终用户,我建议使用 rsync 的守护进程模式来公开可以保持同步。
老实说,使用什么工具取决于你的受众,但我可以说,如果你的受众不是一群有耐心的人,那么 jigdo 很可能完全不可能。