阿里巴巴开源的 Dragonfly 升级为 CNCF 孵化项目
| 2020-04-14 21:57
2020 年 4 月 9 日,CNCF 技术监督委员会(TOC)投票决定接受 Dragonfly 作为孵化级别的托管项目。
Dragonfly 是一个由阿里巴巴开源的云原生镜像/文件分发系统,主要解决云原生领域以 Kubernetes 为核心的应用镜像分发问题。2018 年 10 月,Dragonfly 正式进入 CNCF,成为 CNCF 沙箱级别项目,开始云原生探索之旅,帮助用户改善 Kubernetes 中镜像 / 文件分发的体验,从而让企业工程师可以专注于应用程序本身而非基础架构管理。
每个CNCF项目都有一个相关的成熟度级别:沙箱、孵化或毕业级。有关每个等级的成熟度要求的更多信息,请访问 CNCF 毕业标准 v.1.3。
阿里巴巴资深技术专家易立认为:
“作为阿里巴巴生态系统中容器平台的骨干技术之一,Dragonfly 每年支撑了数十亿次应用服务的部署交付,被全球许多企业客户使用。阿里巴巴期待不断改进 Dragonfly,使其更加高效和易于使用。”
Dragonfly 的目标是解决云原生场景中的分发问题。该项目由以下三个主要部分组成:
- SuperNode 扮演中央调度器角色,控制 peer 之间的所有分发过程;
- dfget 是 P2P 客户端,主要负责 peer 之间分块的互传;
- dfdaemon 则扮演代理角色,拦截容器引擎的镜像下载请求并重定向到 dfget 中。
TOC 成员和项目 Sponsor 梁胜博士说:
“Dragonfly 通过利用 P2P 技术提升镜像和文件分发的效率,同时减轻镜像仓库的网络负载来改善用户体验。随着世界各地的组织将工作负载迁移到容器堆栈上,我们预计 Dragonfly 的采用将继续显着增加。”
Dragonfly 与其他 CNCF 项目进行了集成,包括 Prometheus、containerd、Harbor、Kubernetes 和 Helm。项目维护者来自阿里巴巴、字节跳动、eBay 和美图,项目贡献者来自包括网易、京东、沃尔玛、VMware、Shopee、中国移动、Qunar、中兴、七牛、NVidia 等在内的 20 多家公司。
Dragonfly主要特性:
- 基于 P2P 的文件分发:使用 P2P 技术进行文件传输,Dragonfly 可以充分利用每个对等端的带宽资源来提高下载效率,节省了大量的 IDC 带宽,尤其是昂贵的跨地区、跨国际带宽;
- 对各种容器技术的无侵入支持:Dragonfly 可以无缝地支持各种容器来分发镜像,如 Docker、containerd 等;
- 主机级别速度限制:很多下载工具(wget / curl)仅具有当前下载任务的速率限制,但是 Dragonfly 提供整个主机的速率限制;
- 被动式 CDN:可以避免重复的远程下载。
主要里程碑:
- 维护者来自 4 个组织的 7 个项目
- 67 位贡献者
- 21 个贡献组织
- 4.6k+ GitHub 星标
- 10万+ Docker Hub 下载量
- 去年提交数量增加 120%
自加入 CNCF 沙箱以来,Dragonfly 在电子商务、电信、金融、互联网等多个行业迅速成长。用户包括阿里巴巴、中国移动、蚂蚁金服、虎牙、滴滴、科大讯飞等机构。
CNCF CTO/COO Chris Aniszczyk 表示:
“随着云原生应用的持续增长,在大规模生产环境中分发容器镜像已成为待解决的重要挑战,我们很高兴 Dragonfly 分享了在阿里巴巴的实践经验,Dragonfly 项目最近在 Golang 中进行了完全改写,取得了长足的进步,我们期待培养更多这样的项目和让项目更具多样性”。
最新版本 Dragonfly 1.0.0 已全部用 Golang 重写,以提高与其它云原生技术的易用性。现在,Dragonfly 带来了更加灵活和可扩展的体系结构,更多的云方案以及与 OCI 的潜在集成,以使镜像分发更加高效。
阿里巴巴高级技术专家、 Dragonfly 项目维护者孙宏亮表示:
“我们很高兴 Dragonfly 成为孵化项目,Maintainer 也一直在努力推进项目各个方面的改善,我们期待看到 Dragonfly 的更多可能性。”
作为 CNCF 托管项目,加入孵化的技术可以像 OpenTracing、gRPC、CNI、Notary、NATS、Linkerd、Helm、Rook、Harbor、etcd、OPA、CRI-O、TiKV、CloudEvents、Falco 和 Argo 一样,成为一个中立的基金会的一部分。该基金会与它的技术兴趣保持一致,而更大的 Linux 基金会则提供了治理、市场支持和社区服务。