CNDF宣布本周第二个孵化级托管项目:Dragonfly(代号“蜻蜓”),一个面向Kubernetes用户的开源云原生镜像和文件分发系统。
Dragonfly是2015年由阿里云的工程师创建的P2P 文件分发系统,用于改善大规模文件的分发耗时、成功率低、带宽浪费等难题。Kubernetes用于管理可以在任何类型的计算基础设施上运行的基于容器的应用集群。
Dragonfly由三个组件组成,包括 “supernode”,作为中央调度器,控制文件和镜像分发程序;”dfget”,驻留在每个对等机上,作为代理下载文件碎片;以及 “dfdaemon”,作为代理拦截图像下载请求。
Dragonfly的主要优点之一是它可以实现点对点的文件分发,从而充分利用每个点对点的带宽资源,加快下载速度。它可以支持各种类型的容器技术,包括Docker容器和Windows容器,而且它自带的被动内容分发网络机制有助于避免重复的远程下载。
“Dragonfly通过利用P2P镜像和文件分发协议的优势,减轻了镜像注册表的网络负荷,改善了用户体验。”CNCF技术监督委员会委员盛亮说。”世界各地的组织将工作负载迁移到容器堆栈上,我们预计Dragonfly的采用将继续大幅增加。”
Dragonfly已得得到广泛应用,阿里巴巴、eBay、Nvidia、VMware和中兴通讯都是其最大的用户。
“软件容器火热的背后,文件管理可能是一个重大的挑战,而Dragonfly解决了这一难题。”Constellation Research分析师Holger Mueller表示。
该项目最近更新到Dragonfly 1.0.0.0版本,用Go语言完全重写,Go是一种专门针对大型分布式系统和高扩展性网络服务器的编程语言,从而让Dragonfly与其他云原生技术的互操作性更强,包括本周早宣布的CNCF项目,如OpenTracing、gRPC、Linkerd、Helm、Rook、Harbor、等d和Argo等。