Dragonfly v2.4.0 is launched! Due to all the contributors who made this Dragonfly launch occur.
New options and enhancements
load-aware scheduling algorithm
A two-stage scheduling algorithm combining central scheduling with node-level secondary scheduling to optimize P2P obtain efficiency, based mostly on real-time load consciousness.

For extra info, please seek advice from the Scheduling.
Vortex protocol assist for P2P file switch
Dragonfly offers the brand new Vortex switch protocol based mostly on TLV to enhance the obtain efficiency within the inner community. Use the TLV (Tag-Size-Worth) format as a light-weight protocol to switch gRPC for information switch between friends. TCP-based Vortex reduces giant file obtain time by 50% and QUIC-based Vortex by 40% in comparison with gRPC, each successfully lowering peak reminiscence utilization.
For extra info, please seek advice from the TCP Protocol Assist for P2P File Switch and QUIC Protocol Assist for P2P File Switch.
Request SDK
A SDK for routing Person requests to Seed Friends utilizing constant hashing, changing the earlier Kubernetes Service load balancing strategy.

Easy multi‑cluster Kubernetes deployment with scheduler cluster ID
Dragonfly helps a simplified function for deploying and managing a number of Kubernetes clusters by explicitly assigning a schedulerClusterID to every cluster. This strategy permits customers to immediately management cluster affinity with out counting on location‑based mostly scheduling metadata comparable to IDC, hostname, or IP.
Utilizing this function, every Peer, Seed Peer, and Scheduler determines its goal scheduler cluster by means of a clearly outlined scheduler cluster ID. This ensures exact separation between clusters and predictable cross‑cluster habits.

For extra info, please seek advice from the Create Dragonfly Cluster Easy.
Efficiency and useful resource optimization for Supervisor and Scheduler parts
Enhanced service efficiency and useful resource utilization throughout Supervisor and Scheduler parts whereas considerably lowering CPU and reminiscence overhead, delivering improved system effectivity and higher useful resource administration.
Enhanced preheating
- Assist for IP-based peer choice in preheating jobs with priority-based choice logic the place IP specification takes highest precedence, adopted by count-based and percentage-based choice.
- Assist for preheating a number of URLs in a single request.
- Assist for preheating file and picture through Scheduler gRPC interface.

Calculate activity ID based mostly on picture blob SHA256 to keep away from redundant downloads
The Shopper now helps calculating activity IDs immediately from the SHA256 hash of picture blobs, as a substitute of utilizing the obtain URL. This enhancement prevents redundant downloads and information duplication when the identical blob is accessed from completely different registry domains.
Cache HTTP 307 redirects for cut up downloads
Assist for caching HTTP 307 (Short-term Redirect) responses to optimize Dragonfly’s multi-piece obtain efficiency. When a obtain URL is cut up into a number of items, the redirect goal is now cached, eliminating redundant redirect requests and lowering latency.
Go Shopper deprecated and changed by Rust shopper
The Go shopper has been deprecated and changed by the Rust Shopper. All future improvement and upkeep will focus solely on the Rust shopper, which affords improved efficiency, stability, and reliability.
For extra info, please seek advice from the dragoflyoss/shopper.
Further enhancements
- Allow 64K web page measurement assist for ARM64 within the Dragonfly Rust shopper.
- Repair lacking git commit metadata in dfget model output.
- Assist for config_path of io.containerd.cri.v1.photos plugin for containerd V3 configuration.
- Replaces glibc DNS resolver with hickory-dns in reqwest to implement DNS caching and forestall extreme DNS lookups throughout piece downloads.
- Assist for the –include-files flag to selectively obtain information from a listing.
- Add the –no-progress flag to disable the obtain progress bar output.
- Assist for customized request headers in backend operations, enabling versatile header configuration for HTTP requests.
- Refactored log output to scale back redundant logging and enhance general logging effectivity.
Important bug fixes
- Modified the database area sort from textual content to longtext to assist storing the knowledge of preheating job.
- Fastened panic on repeated seed peer service stops throughout Scheduler shutdown.
- Fastened dealer authentication failure when specifying the Redis password with out setting a username.
Nydus
New options and enhancements
- Nydusd: Add CRC32 validation assist for each RAFS V5 and V6 codecs, enhancing information integrity verification.
- Nydusd: Assist resending FUSE requests throughout nydusd restoration, bettering daemon restoration reliability.
- Nydusd: Improve VFS state saving mechanism for daemon scorching improve and failover.
- Nydusify: Introduce Nydus-to-OCI reverse conversion functionality, enabling seamless migration again to OCI format.
- Nydusify: Implement zero-disk switch for picture copy, considerably lowering native disk utilization throughout copy operations.
- Snapshotter: Builtin blob.meta in bootstrap for blob fetch reliability for RAFS v6 picture.
Important bug fixes
- Nydusd: Repair auth token fetching for access_token area in registry authentication.
- Nydusd: Add recursive inode/dentry invalidation for umount API.
- Nydus Picture: Repair a number of points in optimize subcommand and add backend configuration assist.
- Snapshotter: Implement lazy mum or dad restoration for proxy mode to deal with lacking mum or dad snapshots.
We encourage you to go to the d7y.io web site to search out out extra.
Others
You’ll be able to see CHANGELOG for extra particulars.
Hyperlinks
Dragonfly Github




