BitTorrent是否适合在工作场所中的服务器之间复制文件?


12

我有1个源服务器,其中包含要复制到7个其他服务器的大约30GB的文件。我目前将文件SCP转移到前四台服务器,并在完成转移之后将SCP转移到后三台服务器。

使用BitTorrent可以更快地一次将文件分发到全部7个文件吗?每个服务器之间的内部连接已经非常快速且一致。我知道这可能会减轻源服务器的负担,但是分发文件会花费更长的时间吗?

我可以从Shell中使用什么好的可编写脚本的客户端?我希望所有人都在100%后停止播种。

Answers:


7

这取决于网络的布局方式和瓶颈所在,但是可以,使用BitTorrent可以更快。从理论上讲,源服务器不必发送7个相同文件的副本,而只需要发送1个副本(在接收方之间分配)。到那时,其余的同龄人将彼此之间共享他们未直接收到的部分。

如果您的网络支持组播功能,但是,它可能更容易建立udpcastMDPmultisend,或类似的东西:你的源将数据的单个副本,并且网络将其路由发送到所有收件人。


我们最终使用Udpcast进行了多播方法。而且效果很好!
爱德华

3

BitTorrent相对于其他文件分发工具(例如rsync)的优势在于,客户端开始向其他客户端提供数据,因此,如果服务器与客户端的连接速度较慢,则吞吐量会更好。

BT是为全球共享而设计的协议。因此,您将必须找到一种方法来锁定所有其他客户(但您要喂养的7个客户除外)(否则,您的洪流很快就会落入海盗湾)。

至于100%停止,每个BT客户端都将这样做:由于没有客户端再请求数据了,因此不再播种。该应用程序仍将运行,但是它们只会在客户端和跟踪器之间造成一些数据滴滴,以告知它们仍然可用。

尝试使用Python编写的原始BitTorrent客户端。这将允许您进行所需的任何修改。不幸的是,我找不到链接ATM。任何人?

[编辑]根据评论saua:如果您使用私人跟踪器,那么您的洪流不会意外扩散。也就是说,您只能使用可靠来源的torrent客户端。否则,您可能会冒风险,一些破解者在代码中添加了一些额外的功能,这些功能会将私人种子发布到您不希望出现的地方。


2
通过使用私人跟踪器可以轻松地将torrent公开。
约阿希姆·绍尔

1
您是否100%确定客户端的源代码不包含“嘿,让我们告诉某些黑客服务器有关该种子文件”的那段代码?我不想在这里冒险。
2009年

7
如果您不信任任何一段代码,无论如何都要运行它,那么让您担心的事情就最小化了。
Michael Borgwardt


0

如果使用Bit Torrent将所有8台服务器都插入网络的同一部分,则不太可能加快速度。实际上,您会遇到很多碰撞,因此可能很慢。如果您使用的是全交换网络,并且只有八台服务器可以相互独立通讯而又不影响其他服务器之间的通信,则BitTorrent只会加快速度。


好点-但是真的有很多网络没有完全交换吗?
菲利斯·迪勒

2
您是什么时候最后一次看到集线器连接服务器?如今,我们所有人都在使用全双工交换网络。
Mircea Vutcovici 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.