Dragonfly is an open source P2P-based file distribution and image acceleration system. It is hosted by the Cloud Native Computing Foundation (CNCF) as an Incubating Level Project.
Go to file
yxxhero db4dcafa82
feat: use go-version-file: go.mod for go version detecting (#2694)
Signed-off-by: yxxhero <aiopsclub@163.com>
2023-09-05 10:42:33 +08:00
.github feat: use go-version-file: go.mod for go version detecting (#2694) 2023-09-05 10:42:33 +08:00
api feat: peer information is changed from being stored in metrics to being stored in mysql (#2654) 2023-08-22 10:38:27 +08:00
build chore: release v2.1.0 (#2597) 2023-08-04 14:52:53 +08:00
client feat: optimize GetObjectMetadatasInput validate in dfstore (#2686) 2023-08-30 16:31:35 +08:00
cmd fix: directories created via os.MkdirAll are not checked for permissions (#2613) 2023-08-09 13:52:26 +08:00
deploy chore: update submodule version (#2596) 2023-08-03 22:35:16 +08:00
docs chore: change dingtalk-group qrcode (#2267) 2023-06-28 17:34:45 +08:00
hack chore: add trainer to Makefile and shell (#2488) 2023-06-28 17:35:00 +08:00
internal test: add unit test for MarshalResponse (#2683) 2023-08-29 23:27:47 +08:00
manager feat: remove peer index in databae table (#2675) 2023-08-28 17:07:17 +08:00
pkg fix: Vertex.DeleteInEdges and Vertex.DeleteOutEdges functions are not thread safe (#2688) 2023-08-30 16:48:07 +08:00
scheduler fix: Vertex.DeleteInEdges and Vertex.DeleteOutEdges functions are not thread safe (#2688) 2023-08-30 16:48:07 +08:00
test Revert "feat: replace fmt.Sprintf with net.JoinHostPort" (#2649) 2023-08-17 17:21:50 +08:00
trainer feat: peer announces scheduler cluster id to scheduler (#2652) 2023-08-21 22:00:05 +08:00
version chore: release v2.1.0 (#2597) 2023-08-04 14:52:53 +08:00
.gitignore chore: ignore configs generate with docker compose (#2034) 2023-06-28 17:34:27 +08:00
.gitmodules feat: add console submodule (#549) 2023-06-28 17:31:36 +08:00
.golangci.yml feat: manager add advertiseIP (#1695) 2023-06-28 17:33:57 +08:00
.goreleaser.yml fix: remove archives.rlcp in .goreleaser.yaml refer to https://gorele… (#2573) 2023-07-25 21:39:53 +08:00
.markdownlint.yml docs: add metrics document (#1075) 2023-06-28 17:32:57 +08:00
ADOPTERS.md docs: remove china mobile in ADOPTERS.md (#2690) 2023-08-31 11:32:21 +08:00
CHANGELOG.md chore: release v2.1.0 (#2597) 2023-08-04 14:52:53 +08:00
CODE_OF_CONDUCT.md docs: add slack and google groups (#1203) 2023-06-28 17:33:09 +08:00
CONTRIBUTING.md docs: readme add seed peer (#1349) 2023-06-28 17:33:24 +08:00
GOVERNANCE.md docs: add GOVERNANCE.md to dragonfly project (#2669) 2023-08-24 15:12:46 +08:00
LICENSE Merge branch main-rc to branch main 2023-06-28 17:20:20 +08:00
MAINTAINERS.md chore: maintainer in alphabetical order of the company (#2687) 2023-08-30 14:37:50 +08:00
Makefile chore: release v2.1.0 (#2597) 2023-08-04 14:52:53 +08:00
OWNERS.md chore: maintainer in alphabetical order of the company (#2687) 2023-08-30 14:37:50 +08:00
README.md chore: update dingtalk group qrcode (#2262) 2023-06-28 17:34:45 +08:00
SECURITY.md docs: add slack and google groups (#1203) 2023-06-28 17:33:09 +08:00
codecov.yml feat: change default value of dynconfig cache (#2203) 2023-06-28 17:34:40 +08:00
go.mod chore: update api verison to v2.0.25 (#2685) 2023-08-30 11:21:25 +08:00
go.sum chore: update api verison to v2.0.25 (#2685) 2023-08-30 11:21:25 +08:00

README.md

Dragonfly

alt

GitHub release Artifact Hub CI Coverage Go Report Card Open Source Helpers TODOs Discussions Twitter GoDoc OpenSSF Best Practices LICENSE

Provide efficient, stable and secure file distribution and image acceleration based on p2p technology to be the best practice and standard solution in cloud native architectures.

Introduction

Dragonfly is an open source P2P-based file distribution and image acceleration system. It is hosted by the Cloud Native Computing Foundation (CNCF) as an Incubating Level Project. Its goal is to tackle all distribution problems in cloud native architectures. Currently Dragonfly focuses on being:

  • Simple: Well-defined user-facing API (HTTP), non-invasive to all container engines;
  • Efficient: Seed peer support, P2P based file distribution to save enterprise bandwidth;
  • Intelligent: Host-level speed limit, intelligent flow control due to host detection;
  • Secure: Block transmission encryption, HTTPS connection support.

Architecture

alt

Manager: Maintain the relationship between each P2P cluster, dynamic configuration management and RBAC. It also includes a front-end console, which is convenient for users to visually operate the cluster.

Scheduler: Select the optimal download parent peer for the download peer. Exceptions control Dfdaemon's back-to-source.

Seed Peer: Dfdaemon turns on the Seed Peer mode can be used as a back-to-source download peer in a P2P cluster, which is the root peer for download in the entire cluster.

Peer: Deploy with dfdaemon, based on the C/S architecture, it provides the dfget command download tool, and the dfget daemon running daemon to provide task download capabilities.

Documentation

You can find the full documentation on the d7y.io.

Community

Join the conversation and help the community.

Contributing

You should check out our CONTRIBUTING and develop the project together.

Code of Conduct

Please refer to our Code of Conduct.