Resilio Sync用于更快传输更大文件的点对点技术P2P、
早期的互联网和 P2P 技术
早期的互联网主要是一个点对点系统。这是一个由学者和研究人员组成的网络,连接到该网络的计算机在很大程度上是平等的,因为每台计算机都提供了与它们接收到的信息一样多的信息。在对等连接的早期阶段,快速传输大文件并不是一个考虑因素。
随着
互联网的成熟,客户端-服务器模型来主宰,尤其是HTTP的出现和万维网。在这个系统中,角色与消费者分开,作为连接到网络上某处的“服务器”的“客户端”,用于分发内容和数据。为大量受众提供服务需要大量这些服务器。正是在这段时间内,大文件传输成为该模型的固有问题。
随着此模型中需求的增长,性能下降且脆弱性增加。相同数量的服务器不仅必须更快地传输大文件,而且必须满足更多客户端的需求。 分担不断增长的负载自然会降低每个客户端可用的性能。此外,这样的系统本质上是脆弱的。使用服务器上的单一内容源,您会引入可能导致应用程序完全停机的单点故障。
因此,内容交付网络 (CDN) 等技术应运而生,可跨多个内容源聚合和复用服务器容量,以帮助快速共享大文件。可以更轻松地共享不可预测的需求爆发,并且在更靠近客户的位置建立容量可以提高性能。这样的创新使得早期的客户端-服务器模型更加健壮,但在大型文件共享方面付出了相当大的代价。
然而
,尽管效率低下,客户端服务器模型今天仍然占主导地位。常用的客户端-服务器模型示例包括大多数 Web 内容、搜索引擎、云计算应用程序,甚至包括 FTP 和 rsync 等常用工具。
点对点是传输文件的最快方式
点对点系统从根本上是不同的,它们是传输文件的最快方式。在 P2P 文件传输系统中,每个“消费者”同时也是一个“生产者”。使用客户端服务器模型的语言,每个参与者既是“客户端”又是“服务器”。通过这种方式,除了快速传输大文件之外,对等系统变得有机可扩展。随着对任何内容的需求越来越多,供应也会越来越多。随着需求的增长,P2P 连接系统变得令人难以置信的容错,并且实际上对于大文件变得更快,这与客户端服务器模型形成鲜明对比,后者在相同情况下变得明显更慢,更脆弱。
总结本节,点对点有几个优点:
-
它更快
-
它更健壮
-
它减少了服务器的负载
-
这是对基础设施的有效利用
点对点大文件传输实战
本节通过一个具体的例子来研究大文件传输的点对点总是比任何客户端-服务器架构都快。为了以简单的方式解释该技术,我们将做出以下假设。我们要通过 P2P 连接传输的文件有五个块。每台计算机都有一个连接通道,每个周期能够发送一个块。
我们有一个发送器,它需要向四个设备 A、B、C 和 D(接收器)发送数据。
-
阶段 1 – 拆分文件:
Sender 将文件拆分成独立的片段,并创建一个描述这些片段的元信息数据块。在我们的示例中,文件由 5 个部分组成。我们将每个部分标记为彩色点:Red、Green、Yellow、Blue和Black。
-
阶段 2 – 接收文件:
接收器请求文件元信息。当接收方获得元信息时,他们知道有问题的文件包含五个部分,目前只有发送方拥有它们。
- 第 3 阶段 – 读取文件:
每个周期,接收器从文件中随机选择一块并开始下载。这一直持续到每个接收器都拥有文件的每一部分。
那么,传输数据需要多少个周期?
使用客户端 – 服务器架构需要大约 3 倍的时间。接收方将仅从发送方下载片段。在 P2P 文件传输示例中,大部分片段来自其他接收器。让我们考虑一个真实世界的例子来展示差异。
-
使用P2P架构:仅7个周期
-
使用客户端-服务器架构:20 个周期
快速文件传输和 P2P 的真实示例
假设我们有一个服务器和十个客户端,它们都通过 1 Gbps 网络连接。我们需要向所有机器发送一个 100GB 的文件。点对点解决方案将在 17 分钟内完成大文件传输。相比之下,客户端-服务器方法将需要一个多小时。随着您对该 P2P 速度系统(文件更大或参与者更多)的需求增加,这两种模型之间的性能差异将会扩大。
关于 P2P 和快速文件共享的结论
速度和稳健性对现代企业至关重要。对于几乎所有数据分发任务,点对点 解决方案的文件传输速度总是比客户端-服务器(点对点)解决方案快。当数据规模和业务规模(位置或端点的数量)变大时,差异就很重要。
Resilio
进一步使用rsync的状增量编码和WAN优化基于UDP的传输协议,以提供最有效的利用,并通过任何网络和任何配置最快速度。
Resilio 的技术在现代企业常见的广泛网络速度范围内提供最快的交付时间。我们的产品将点对点、类似 rsync 的增量编码和 WAN 优化这三种最强大的数据传输技术结合到一个单一的解决方案中。