89 lines
4.7 KiB
Markdown
89 lines
4.7 KiB
Markdown
# Dragonfly
|
|
|
|
![alt][logo-linear]
|
|
|
|
[](https://github.com/dragonflyoss/Dragonfly2/releases)
|
|
[](https://artifacthub.io/packages/search?repo=dragonfly)
|
|
[](https://github.com/dragonflyoss/Dragonfly2/actions/workflows/ci.yml)
|
|
[](https://codecov.io/gh/dragonflyoss/Dragonfly2)
|
|
[](https://goreportcard.com/report/github.com/dragonflyoss/Dragonfly2)
|
|
[](https://www.codetriage.com/dragonflyoss/dragonfly2)
|
|
[](https://www.tickgit.com/browse?repo=github.com/dragonflyoss/Dragonfly2&branch=main)
|
|
[](https://github.com/dragonflyoss/Dragonfly2/discussions)
|
|
[](https://twitter.com/dragonfly_oss)
|
|
[](https://godoc.org/github.com/dragonflyoss/Dragonfly2)
|
|
[](https://bestpractices.coreinfrastructure.org/projects/7103)
|
|
[](https://github.com/dragonflyoss/Dragonfly2/blob/main/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](https://cncf.io/)) 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][arch]
|
|
|
|
**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][d7y.io].
|
|
|
|
## Community
|
|
|
|
Join the conversation and help the community.
|
|
|
|
- **Slack Channel**: [#dragonfly](https://cloud-native.slack.com/messages/dragonfly/) on [CNCF Slack](https://slack.cncf.io/)
|
|
- **Discussion Group**: <dragonfly-discuss@googlegroups.com>
|
|
- **Developer Group**: <dragonfly-developers@googlegroups.com>
|
|
- **Github Discussions**: [Dragonfly Discussion Forum][discussion]
|
|
- **Twitter**: [@dragonfly_oss](https://twitter.com/dragonfly_oss)
|
|
- **DingTalk**: [22880028764](https://qr.dingtalk.com/action/joingroup?code=v1,k1,pkV9IbsSyDusFQdByPSK3HfCG61ZCLeb8b/lpQ3uUqI=&_dt_no_comment=1&origin=11)
|
|
|
|
<!-- markdownlint-disable -->
|
|
<div align="center">
|
|
<img src="docs/images/community/dingtalk-group.jpeg" width="300" title="dingtalk">
|
|
</div>
|
|
<!-- markdownlint-restore -->
|
|
|
|
## Contributing
|
|
|
|
You should check out our
|
|
[CONTRIBUTING][contributing] and develop the project together.
|
|
|
|
## Code of Conduct
|
|
|
|
Please refer to our [Code of Conduct][codeconduct].
|
|
|
|
[arch]: docs/images/arch.png
|
|
[logo-linear]: docs/images/logo/dragonfly-linear.svg
|
|
[discussion]: https://github.com/dragonflyoss/Dragonfly2/discussions
|
|
[contributing]: CONTRIBUTING.md
|
|
[codeconduct]: CODE_OF_CONDUCT.md
|
|
[d7y.io]: https://d7y.io/
|
|
[dingtalk]: docs/images/community/dingtalk-group.jpeg
|