gpt4 book ai didi

bittorrent - bittorrent 节点可以处理大量空闲种子的种子吗

转载 作者:行者123 更新时间:2023-12-04 17:56:53 26 4
gpt4 key购买 nike

我正在考虑使用 bittorrent 解决大型数据传播问题,其中数据源为千万亿级,用户需要高达数 TB 的数据。一些细节

  • 潜在数以百万计的种子数
  • 种子大小从 100Mb 到 100Gb
  • 世界上一组稳定的集群,能够充当播种者,每个集群都拥有总种子的很大一部分(比如平均 60%)
  • 想要下载平均数 TB 数据的同时用户数量相对较少(少于 100)。

  • 我希望与可用种子总数相比,事件种子的数量很少,但服务质量很重要,因此每个种子必须有多个种子或某种机制来启动新种子。

    我的问题是,bittorrent 客户端可以处理大量种子种子,其中大部分是闲置的吗?我是否需要在集群中的播种机上对种子进行 strip 化,还是每个节点都可以播种它可以访问的所有种子?哪个客户会做得最好?是否有任何工具可以管理播种机集群?

    我假设跟踪器可以扩展到这个级别。

    最佳答案

    有2个主要问题:

  • 每个 torrent(通常)需要定期向跟踪器通告,这最终可能会占用大量带宽。
  • bittorrent 客户端本身需要以一种可以扩展大量种子的方式编写

  • 至于跟踪器流量,假设您有 100 万个种子,典型的重新发布间隔为 30 分钟,但某些跟踪器将其设置为 1 小时。让我们保守一点,假设您的跟踪器使用 1 小时的广播间隔。您必须每小时发出 100 万次 GET 请求,假设每个请求向上 400 字节和向下 100 字节(假设大多数响应不包含任何对等点),即大约 111 kB/s 向上和 28 kB/s 向下。这还不错,但请记住,TCP 需要额外的往返来建立连接,因此又减少了 40 个字节,增加了 40 个字节。

    这可以通过仅使用 UDP trackers 来缓解。 .然后您只需要一个连接消息,并且您可以为每个通知重复使用连接 ID。每个公告消息将是 100 字节,返回的消息也会更紧凑一些,假设为 60 字节。这将使您的速度提高 28 kB/s,降低 16kB/s,只是为了保持种子文件的发布。为此,您需要一个具有良好 udp 跟踪器支持的客户端(例如,一个缓存连接 ID 的客户端)。

    还不错,假设与您的种子发送的实际数据相比微不足道。

    但是,您不一定需要在不同的数据中心对种子进行 strip 化,您也可以使用 HTTP 服务器来播种种子。所有主要的 bittorrent 客户端都支持 http 播种,您不必担心向跟踪器宣布(URL 被烧入 .torrent 本身)。

    至于可以很好地扩展种子的客户端,我不确定,我没有做过任何测量。生成一百万个随机种子并尝试加载它应该相当简单。

    我在 libtorrent rasterbar做了一些优化工作为了使它在许多种子中都能很好地扩展,我还没有尝试过数百万次。

    我写了一篇关于这个主题的博客文章, here .

    关于bittorrent - bittorrent 节点可以处理大量空闲种子的种子吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6809642/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com