写点什么

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:305

评论

发布
暂无评论

在线YAML转HTML工具

入门小站

工具

Go学习笔记——常量

为自己带盐

Go 学习笔记 2月月更

霜皮剥落紫龙鳞,下里巴人再谈数据库SQL优化,索引(一级/二级/聚簇/非聚簇)原理

刘悦的技术博客

sql 优化 SQL优化 MySQL优化 :MySQL 数据库

[C语言]打开C的大门

謓泽

入门 C语言 编程、 2月月更

HiveSQL高级进阶10大技巧

编程江湖

用户登录功能:说简单也困难

华为云开发者联盟

安全 cpu 加密算法 TPS 用户登录

运维工程师的工作内容有哪些?能详细列举一下吗?

行云管家

云计算 运维 系统运维 IT运维

第十一节:Springboot整合log4j2日志

入门小站

spring-boot

手写一个线程池,带你学习ThreadPoolExecutor线程池实现原理

华为云开发者联盟

Java 线程 线程池 ThreadPoolExecutor

mycat 中间件安装与使用

编程江湖

大数据存储领导厂商创新科加入,携手龙蜥社区共建开源生态

OpenAnolis小助手

大数据 Linux 开源 云存储

警惕!Python 中少为人知的 10 个安全陷阱!

Python猫

Python

Java最简单可靠的线上不停机发布方案

游牧

朋友圈系统架构设计

Geek_8d5fe5

架构实战营

OceanBase 雄踞墨天轮2021年度中国数据库魔力象限领导者

OceanBase 数据库

魔力象限 OceanBase 开源 领导者

Redis 在 vivo 推送平台的应用与优化实践

vivo互联网技术

服务器 消息推送 redis'

Spring Cloud Alibaba Nacos路由策略之保护阈值!

王磊

spring cloud alibaba

去吗?去啊!喜欢就不要再犹豫

码哥字节

爱情 2月春节不断更 情人节 情书 2月月更

前端培训:React调度算法迭代过程

@零度

前端开发 React

分布式事务管理DTM:“买买买”背后的小帮手

华为云开发者联盟

微服务 电商 分布式事务管理 DTM 云图说

大数据培训:Flink调度器性能的提高

@零度

flink 大数据开发

jQuery常用方法归纳总结

编程江湖

在低代码开发时代,还需要IT部门吗?

TOBESOFT特碧软件

低代码 数字化 TOBESOFT

取代 Mybatis Generator,这款代码生成神器配置更简单,开发效率更高!

沉默王二

java培训:MyBatis高级进阶学习分享

@零度

mybatis JAVA开发

手写简易版 React 来彻底搞懂 fiber 架构

CRMEB

Mac 鼠标手势软件 -- MacStroke

TroyLiu

效率工具 推荐 Mac 鼠标手势 Mac 软件

书单 | 作为冬奥会的技术支持方,阿里云的技术都写在这些书里了!

博文视点Broadview

【网络安全】什么是应急响应,应急响应中你到底该关注哪些指标?

H

网络安全 应急响应

11个基于HTML/CSS/JS的情人节表白可爱小游戏、小动画

海拥(haiyong.site)

大前端 情人节 表白 2月月更

建木持续集成平台v2.2.2发布

Jianmu

DevOps CI/CD 自动化运维

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