写点什么

Dragonfly v2.2.0 发布:Rust 客户端、P2P 升级、增强图片加速

作者:Claudio Masolo

  • 2025-02-18
    北京
  • 本文字数:1471 字

    阅读完需:约 5 分钟

Dragonfly v2.2.0 发布:Rust 客户端、P2P 升级、增强图片加速

今年 1 月,云原生计算基金会(CNCF)发布 了 Dragonfly 2.2.0 版,为这个开源的点对点(P2P)文件分发和镜像加速系统引入了几项重大改进。


Dragonfly 是一个基于点对点(P2P)的开源系统,旨在提高大规模文件分发和镜像加速的效率。利用来自对等点的空闲带宽可加速各个领域的数据分发,包括镜像和文件分发、AI 模型传播和数据集共享操作。Dragonfly 的主要特性包括对多个容器运行时和下载工具的非侵入式支持、可配置的对等点设置(例如负载和流量限制)以及确保文件一致性和隔离异常以提高下载稳定性的机制。其架构包括了管理器、调度器、Seed Peer 和 Peer 等组件,它们协作管理任务并优化 P2P 网络内的数据传输。


2.2.0 版本中的一个显著改进是用 Rust 重新实现了 Dragonfly 客户端。这种转变提高了内存安全性并增强了性能,有助于提供更强大、更高效的客户端体验。


更新后的客户端现在支持对预取请求进行带宽速率限制。此特性可防止网络拥塞并减少与活动下载任务的竞争,从而优化整体系统性能。用户可以通过 proxy.prefetchRateLimit 选项配置此设置。



下载速率限制


Dragonfly v2.2.0 引入了一个纯下载模式,允许客户端禁用共享。当配置为该模式时,客户端仅作为下载器运行,而不会对分发网络做出贡献,这一特性为有特定要求的用户提供了灵活性。


该版本还包括了几项优化,以增强客户端在管理大量小型输入 / 输出操作方面的性能,尤其有利于 Nydus 等应用程序。主要改进包括:


  • 引入 X-Dragonfly-Prefetch HTTP 标头,以启用范围请求的全任务预取。

  • 实现独立的 HTTP 代理缓存,通过减少 gRPC 服务器请求来降低延迟。

  • 扩展 RocksDB 内存缓存大小,并启用前缀搜索功能,加快片段元数据检索速度。

  • 采用带硬件加速的 CRC-32-Castagnoli 算法,降低片段内容哈希计算开销。

  • 重用 gRPC 连接,优化下载逻辑,提升效率。


Dragonfly v2.2.0 定义了其 P2P 传输协议的第二个版本,旨在更加标准化、更清晰、更高效。这一更新有望提升 P2P 网络内的数据传输效率。


新版本加强了与 Harbor v2.13 的集成,重点关注镜像的 P2P 预热。改进包括:


  • 支持预热多架构镜像。

  • 用户定义的预热范围允许在单个 Seed Peer、所有 Seed Peers 或所有 Peers 中选择,以实现多粒度预热。

  • 用户能够指定调度程序集群 ID,以将预热定向到所需的 Dragonfly 集群。


这些改进旨在让用户在管理镜像分发和加速任务时拥有更多控制权和效率。


有几种工具提供与 Dragonfly v2.2.0 类似的功能,用于大规模文件分发、容器镜像加速和点对点数据传输:


  • BitTorrent 是一种广泛使用的 P2P 协议,可在去中心化网络中高效分发大文件,使其成为通用文件共享的可行替代方案。

  • JFrog Artifactory 是一个强大的工件存储库管理器,为容器镜像、二进制文件和其他软件工件提供缓存和分发。

  • FastDFS 是一种轻量级开源分布式文件系统,针对小文件存储和同步进行了优化,但它缺乏容器镜像加速功能。

  • Amazon S3 Transfer Acceleration 利用亚马逊的全球边缘网络来加速大规模文件传输,使其成为已经使用 AWS 的组织的理想选择。


总之,Dragonfly v2.2.0 通过其新的基于 Rust 的客户端、改进的带宽管理和增强的 Harbor 集成增强了 P2P 文件分发效率。虽然存在 BitTorrent 和 Amazon S3 Transfer Acceleration 等替代方案,但 Dragonfly 对 I/O 操作和容器镜像加速的优化使其非常适合需要高效、大规模文件分发的云原生环境。


原文链接:


Dragonfly v2.2.0 Released: Rust Client, P2P Upgrades, and Enhanced Image Acceleration (https://www.infoq.com/news/2025/01/dragonfly-rust-client/)

2025-02-18 14:306868

评论

发布
暂无评论

忒棒了!阿里P8大牛用这份技术点直接带你玩转高可用服务架构

比伯

Java 编程 架构 互联网 程序人生

12.7作业

张荣召

DolphinDB与Aliyun HybridDB for PostgreSQL在金融数据集上的比较

DolphinDB

postgresql 阿里云 时序数据库 DolphinDB 数据库开发

英特尔唐炯:36.4% PC同比增长,预示了2021是个好年

E科讯

12.4大数据计算框架MapReduce-架构

张荣召

Java中CAS原理分析(volatile和synchronized浅析)

叫练

volatile 多线程 synchronized CAS JUC

以太公约系统开发详情丨以太公约源码案例

系统开发咨询1357O98O718

以太公约系统开发介绍

【涂鸦物联网足迹】物联网常见通信协议

IoT云工坊

物联网 HTTP 通信协议 mqtt coap

云小课 | 需求任务还未分解,该咋整!项目管理Scrum项目工作分解的心酸谁能知?

华为云开发者联盟

项目管理 敏捷 devcloud

快来!开源一份阿里微服务指导手册:SpringBoot+SpringCloud+消息中间件

Java架构追梦

Java 架构 面试 微服务

云原生体系下的技海浮沉与理论探索

阿里巴巴云原生

Serverless 容器 微服务 云原生 k8s

从物理空间到数字世界,数字孪生打造智能化基础设施

华为云开发者联盟

IoT 智能 数字

第五周作业第1题

走走,停停……

GaussDB(DWS)应用实践丨负载管理与作业排队处理方法

华为云开发者联盟

数据 负载 GaussDB

12.5大数据集群资源管理系统Yarn

张荣召

12.1大数据技术发展史

张荣召

架构师训练营第 1 期 第 12 周作业

李循律

极客大学架构师训练营

学习笔记-week12

张荣召

Eclipse Vert.x 4发布

dinstone

Java Reactive Vert.x

我看技术人的成长路径

阿里巴巴云原生

开发者 云原生 技术人 自我思考 职场成长

12.3大数据计算框架MapReduce-编程框架

张荣召

12.2分布式文件系统

张荣召

H3C核心交换机故障处理通用流程

巨头们为什么要开源自己的技术?解析科技企业对软件开源的态度

Marilyn

开源 敏捷开发

探究神秘的SpringMVC,寻找遗失的web.xml踪迹

996小迁

Java 编程 程序员 架构 面试

ICT芯矿链挖矿矿机系统开发平台丨ICT芯矿链源码案例

系统开发咨询1357O98O718

ICT芯矿链矿机系统开发

话题讨论 | 作为程序员你的业余爱好是什么呢?

小天同学

话题讨论 业余爱好

第八周大作业

小兵

Norvarm波场链系统开发方案丨Norvarm波场源码功能

系统开发咨询1357O98O718

Norvarm波场链系统开发

12.6大数据仓库Hive

张荣召

第八周总结

小兵

Dragonfly v2.2.0 发布:Rust 客户端、P2P 升级、增强图片加速_云原生_InfoQ精选文章