今天,由云原生计算基金会(CNCF)技术监督委员会投票,Dragonfly 正式晋升为 CNCF 孵化级别的托管项目。
Dragonfly 是一个由阿里巴巴开源的云原生镜像/文件分发系统,主要解决云原生领域以 Kubernetes 为核心的应用镜像分发问题。2018 年 10月?正式进入?CNCF,成为?CNCF 沙箱级别项目(Sandbox Level Project),开始云原生探索之旅,帮助用户改善 Kubernetes 中镜像/文件分发的体验,从而让企业工程师可以专注于应用程序本身而非基础架构管理。
前往 GitHub 了解 Dragonfly 项目详情:https://github.com/alibaba/Dragonfly。
阿里巴巴资深技术专家易立认为“作为阿里巴巴生态系统中容器平台的骨干技术之一,Dragonfly 每年支撑了数十亿次应用服务的部署交付,并被全球许多企业客户使用。阿里巴巴期待不断改进 Dragonfly,使其更加高效和易于使用。”
Dragonfly 的目标是解决云原生场景中的分发问题。该项目由三个主要部分组成:SuperNode 扮演中央调度器角色,控制 peer 之间的所有分发过程; dfget 是 P2P 客户端,主要负责 peer 之间分块的互传;dfdaemon 则扮演代理角色,拦截容器引擎的镜像下载请求并重定向到 dfget 中。
“Dragonfly 通过利用 P2P 技术提升镜像和文件分发的效率,同时减轻镜像仓库的网络负载来改善用户体验,” TOC 成员和项目 Sponsor 梁胜博士说。“随着世界各地的组织将工作负载迁移到容器堆栈上,我们预计 Dragonfly 的采用将继续显着增加。”
目前,Dragonfly 与其他 CNCF 项目进行了集成,包括 Prometheus,containerd,Harbor,Kubernetes 和 Helm。项目 Maintainer 来自阿里巴巴,ByteDance,eBay 和美图,项目 Contributor 来自包括网易、京东、沃尔玛、VMware、Shopee、中国移动、Qunar、中兴、七牛、NVidia 等在内的?20 多家公司。
Dragonfly 主要特性
- 基于 P2P 的文件分发:使用 P2P 技术进行文件传输,Dragonfly 可以充分利用每个 peer 的带宽资源来提高下载效率,节省了大量的 IDC 带宽,尤其是昂贵的跨地区、跨国际带宽;
- 对各种容器技术的无侵入支持:Dragonfly 可以无缝地支持各种容器来分发镜像,如Docker、containerd 等;
- 主机级别速度限制:很多下载工具(wget / curl)仅具有当前下载任务的速率限制,但是 Dragonfly 提供整个主机的速率限制;
- Passive CDN:被动式 CDN 机制可以避免重复的远程下载。
重要里程碑
- Maintainer 来自 4 个组织的 7 个项目
- 67 位贡献者
- 21 个贡献组织
- 4.6k + GitHub Stars
- 10万+ Docker Hub 下载量
- 去年 commit 数量增加 120%
自加入 CNCF Sandbox 以来,Dragonfly 经历了重要的旅程,变得更“云原生”。
- 为使开发人员更友好并更易于集成到 CNCF 中,Dragonfly 通过 Golang 进行了重构;
- Dragonfly 积极地与 Kubernetes,Harbor,containerd,Prometheus,Helm 等集成;
- 在 CNCF 的帮助下,Dragonfly 努力帮助整个行业采用云原生分发。
CNCF CTO / COO Chris Aniszczyk 表示?“随着云原生应用的持续增长,在大规模生产环境中分发容器镜像已成为要解决的重要挑战,我们很高兴 Dragonfly 分享了在阿里巴巴的实践经验,Dragonfly?项目最近在 Golang 中进行了完全改写,取得了长足的进步,我们期待培养更多这样项目和让项目更具多样性”。
最新版本 Dragonfly 1.0.0 已全部用 Golang 重写,以提高与其他云原生技术的易用性。现在,Dragonfly 带来了更加灵活和可扩展的体系结构,更多的云方案以及与 OCI(开放容器计划)的潜在集成,以使镜像分发更加高效。
阿里巴巴高级技术专家、 Dragonfly 项目 Maintainer 孙宏亮表示:“我们很高兴 Dragonfly 成为孵化项目,Maintainer?一直在努力推进项目各个方面的改善,我们期待看到 Dragonfly 的更多可能性。”
Dragonfly 的落地实践
自加入 CNCF 沙箱以来,Dragonfly 在包括电子商务,电信,金融,互联网等在内的各个行业中迅速发展。 用户包括阿里巴巴,中国移动,Shopee,Bilibili,蚂蚁金服,虎牙,滴滴,iFLYTEK 等组织。
中国移动浙江分公司在生产环境中采用 Dragonfly 已有 3 年以上的历史,涉及超过? 1000 台物理计算机。目前在 Dragonfly 上运行 200 多个业务系统和 1,700 多个应用程序模块。
Shopee 是总部位于 Sea Group 下的新加坡电子商务平台。由于将业务范围扩展到马来西亚,泰国,台湾,印度尼西亚,越南和菲律宾,它为客户提供了一种简单,安全和快速的在线购物方式。 Shopee 在生产环境中采用Dragonfly 已有 1 年以上的历史,涉及 10K+ 台物理机器。
国内视频弹幕网站 Bilibili 已在超过 3900 台机器的测试和生产环境中采用了 Dragonfly。来自 Bilibili 的工程师在注册表验证,稳定性等方面与 Dragonfly 社区合作并做出了积极贡献。
阿里云容器镜像服务企业版( ACR EE)是国内领先的云原生应用资产管理平台,支持 Docker/OCI 镜像, Helm Chart 等制品的安全管理及高效分发,被众多行业 Top 企业大规模使用。ACR EE 结合 Dragonfly 的大规模镜像分发能力,保障客户容器业务的快速扩展和极速部署。ACR 团队也结合企业云原生场景和云端环境,和社区共同推动和促进 Dragonfly 持续优化。
未来可期
未来,Dragonfly 将巩固文件/镜像分发,朝着更灵活和可扩展的体系结构方向发展;此外,Dragonfly 社区将深度与 Linux Foundation OCI(开放容器标准)展开合作,建设更高效的镜像分发能力:
- 基于行业场景,积极探索技术创新:1. 基于机器学习算法,支持更智能 P2P 调度能力,进一步分发效率;2. 加强数据传输过程中的安全性、完整性以及传输效率;3. 基于云原生基础设施,插件化与场景化,灵活适应裸金属、云服务器、IoT等多领域;
- 协同OCI社区,打造并制定镜像/文件在云原生领域的分发标准,开放“数据分发接口”提供“被集成”能力。
云原生网络研讨会邀您参加
“阿里巴巴云原生关注微服务、Serverless、容器、Service Mesh 等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的公众号。”
原文地址:https://blog.51cto.com/13778063/2486287