dragonfly v2.4.0 正式发布,本次更新涵盖多项核心功能增强与优化,具体内容如下:
新增特性
负载感知型调度机制
调度策略全面升级为双阶段架构:首阶段由中心化 Scheduler 统筹决策,次阶段交由节点本地执行二次调度。该机制深度融合实时负载数据,显著提升 P2P 文件分发效率与资源利用率。

Vortex 协议加持 P2P 传输能力
Dragonfly 引入基于 TLV(Tag-Length-Value)结构的全新 Vortex 通信协议,替代原有 gRPC 实现节点间高效数据交互。该协议具备轻量、低开销特性,支持 TCP 与 QUIC 两种底层传输方式:
- 基于 TCP 的 Vortex 可缩短大文件下载耗时达 50%;
- 基于 QUIC 的 Vortex 则可降低约 40% 的下载延迟;
同时两者均能有效抑制内存峰值占用。
Request SDK 集成一致性哈希路由
新增 Request SDK,用于将用户请求智能导向 Seed Peer。通过一致性哈希算法实现精准路由,取代传统 Kubernetes Service 层面的负载均衡方案,提升请求分发稳定性与可控性。

多集群 Kubernetes 部署简化支持
新增 schedulerClusterID 显式标识机制,使 Dragonfly 可轻松适配多 Kubernetes 集群环境。用户无需依赖 IDC、主机名或 IP 地址等位置元信息,即可直接定义集群亲和策略。
所有 Peer、Seed Peer 及 Scheduler 均依据该 ID 精准归属目标调度集群,保障跨集群隔离性与行为可预测性。

Manager 与 Scheduler 性能深度优化
对 Manager 和 Scheduler 组件进行底层重构,在维持高并发处理能力的同时,大幅削减 CPU 占用率与内存消耗,系统整体响应速度与资源调度效率获得明显提升。
预热能力全面升级
- 支持定向预热至指定节点:优先级顺序为「IP 明确指定」>「数量阈值匹配」>「百分比范围选取」;
- 单个预热任务支持批量 URL 并行触发;
- 新增通过 Scheduler gRPC 接口发起镜像与普通文件预热的能力。

基于镜像 Blob SHA256 构建唯一任务 ID
客户端现已默认启用基于镜像 Blob 内容(SHA256 哈希值)生成任务 ID 的机制,彻底规避因不同仓库域名访问同一 Blob 所引发的重复拉取与存储冗余问题。
HTTP 307 重定向地址缓存机制
新增对 HTTP 307(Temporary Redirect)响应中跳转 URL 的本地缓存能力,优化多分片下载场景下的网络表现。当原始 URL 被切分为多个片段时,重定向目标地址仅需解析一次并复用,从而减少无效 DNS 查询与网络往返延迟。
Go 客户端正式退役,Rust 客户端全面接替
Go 编写的 dfget 客户端已进入弃用状态,全部后续开发与维护工作将集中于 Rust 实现的新客户端[7]。新客户端在性能、健壮性及长期可维护性方面均有质的飞跃。
其他功能增强项
- Rust 客户端新增对 ARM64 架构下 64KB 页面大小的支持;
- 修复 dfget 版本输出中缺失 git commit hash 元信息的问题;
- 支持 containerd V3 配置中
io.containerd.cri.v1.images插件的config_path字段配置; - 在
reqwest中集成hickory-dns替代系统级glibc DNS解析器,启用 DNS 缓存以避免分片下载过程中的高频 DNS 查询; - 新增
--include-files参数,支持按规则筛选目录内待下载文件; - 新增
--no-progress参数,允许关闭终端进度条显示; -
backend操作中支持自定义 HTTP 请求头,增强后端对接灵活性; - 日志模块完成重构,精简冗余输出,提升日志结构清晰度与排查效率。
重要修复
- 数据库字段类型由
text升级为longtext,确保预热任务元数据完整存储; - 修复 Scheduler 关闭过程中重复调用 Stop Seed Peer 导致 panic 的异常;
- 修复 Redis 启用密码认证但未设置用户名时 Broker 认证失败的问题。
Nydus
新增特性
- Nydusd:为 RAFS V5/V6 格式增加运行时 CRC32 校验功能,强化数据完整性校验能力;
- Nydusd:在进程恢复流程中支持 FUSE 请求重发机制,提升故障恢复可靠性;
- Nydusd:优化 VFS 状态持久化逻辑,更好支撑热升级与主备切换场景;
- Nydusify:新增 Nydus → OCI 的反向转换能力(实验性),助力平滑回迁至标准 OCI 生态;
- Nydusify:实现镜像拷贝零磁盘写入,大幅降低复制过程对本地存储的压力;
- Snapshotter:将
blob.meta信息整合进 Bootstrap 文件,增强 RAFS V6 镜像 Blob 下载过程的稳定性。
重要修复
- Nydusd:修正镜像仓库认证中
access_token字段令牌获取逻辑错误; - Nydusd:为 umount API 补充递归清理 inode/dentry 缓存的功能;
- Nydus Image:修复 optimize 子命令若干缺陷,并扩展后端配置支持;
- Snapshotter:在代理模式下实现父快照延迟加载机制,解决父快照缺失导致的挂载失败问题。
源码地址:点击下载









