Dragonfly 成为 CNCF 孵化项目我们与基金会首位华人 TOC 聊了聊( 三 )


3. 降低带宽成本
通过动态压缩 , 可以在不影响 SuperNode 和 Peer 正常运行的情况下 , 对文件中最值得压缩的部分实施相应的压缩策略 , 从而可以节约大量的网络带宽资源 , 同时还能进一步提升分发速率 , 相比于传统的 HTTP 原生压缩方式 , 动态压缩主要有以下几个方面的优势:
Dragonfly 成为 CNCF 孵化项目我们与基金会首位华人 TOC 聊了聊
本文插图
动态压缩的优势首先自然是动态性 , 它可以保证只有在 SuperNode 和 Peer 负载正常的情况下才会开启压缩 , 同时只会对文件中最值得压缩的分块进行压缩且压缩策略也是动态确定的;此外 , 通过多线程压缩方式可以大幅提升压缩速率 , 而且借助 SuperNode 的缓存能力 , 整个下载过程只需要压缩一次即可 , 压缩收益比相对于 HTTP 原生方式至少提升 10 倍 。
除了动态压缩外 , 通过 SuperNode 强大的任务调度能力 , 可以尽量使在同一个网络设备下的 Peer 互传分块 , 减少跨网络设备、跨机房的流量 , 从而进一步降低网络带宽成本 。
4. 安全传输
在下载某些敏感类文件(比如秘钥文件或者账号数据之类的文件)时 , 传输的安全性必须要得到有效保障 。 在这方面 , Dragonfly 主要做了以下几个方面的工作:
1.支持 HTTP Header 传输 , 以满足那些需要通过 Header 来进行权限验证的下载请求;2.通过自研的数据存储协议对数据块进行包装传输 , 后续还会对包装的数据进行再加密;3.即将支持安全加密功能插件化;4.通过多重校验机制 , 可以严格防止数据被篡改 。
Dragonfly 是如何晋升的?
Dragonfly 能够进入 CNCF 的孵化阶段 , 说明项目本身确实有能够让 TOC 眼前一亮的地方 。 李响介绍 , Dragonfly 主要解决的是大规模场景下的容器镜像分发的问题 , 它与传统的解决方式有很大的不同 。
传统的解决方式是中央式的存储以及分发 , 好处是实现比较简单 , 管控起来也比较方便 , 但是这种方式在大规模场景会遇到一些挑战 , 主要是由于难以更灵活的水平扩展处理突发的流量 。
“举一个例子 , 在阿里内部一些场景和阿里云容器服务客户场景下 , 尤其是一些批量计算型的业务 , 都有可能在一分钟内有千级别的容器创建的吞吐 , 对于镜像分发也会产生相应的吞吐压力 。 应对这个高突发性且大规模的流量 , 最好的办法就是利用 P2P 的特性来做分布式的分发 。 Dragonfly 正是基于这个理念构建的一套系统 , 帮助用户和企业应对大规模容器场景 , 让容器生态能覆盖更多、更复杂的场景 。 Dragonfly 的理念在容器这个特定的领域还是比较领先的 , 应该是第一个尝试 , 也算是比较成功的探索和实践 。 ”
谈到 Dragonfly 为什么能够从沙箱阶段晋升至孵化项目 , 李响向我们介绍了 CNCF 内部的评判标准 。 CNCF 对孵化项目有一些基础的要求 , 比如项目的成熟度、使用普及度、贡献者的分布等等 , 而 Dragonfly 从这些相对客观的指标看是完全符合孵化要求的 。
从另外一方面看 , CNCF 也会考虑到项目是否能帮助到云原生领域的技术和社区发展 , 是否能帮助到 CNCF 作为基金会自身的发展 。 这部分内容相对来讲比较主观 , 因此也是要 TOC 这个 11 人的组织进行投票的 。 从投票结果看 , 大部分人认可 Dragonfly 对于云原生领域和基金会的价值 , 因此被接受为孵化项目 。
在沙箱阶段时 , Dragonfly 就在一些实际生产环境中展现了它的价值 , 包括电子商务、电信、金融和互联网等在内的各个行业场景下的应用 。 用户包括阿里巴巴、中国移动、Shopee、Bilibili、蚂蚁金服、虎牙、滴滴和 iFLYTEK 等 。
比如中国移动浙江分公司在生产环境中采用 Dragonfly 已有 3 年以上的历史 , 涉及超过 1000 台物理计算机 , 目前在 Dragonfly 上运行 200 多个业务系统和 1700 多个应用程序模块;新加坡电子商务平台 Shopee 也在生产环境中采用 Dragonfly 已有 1 年以上的历史 , 涉及 10K+ 台物理机器;国内视频弹幕网站 Bilibili 已在超过 3900 台机器的测试和生产环境中采用了 Dragonfly 。 来自 Bilibili 的工程师在注册表验证、稳定性等方面与 Dragonfly 社区合作并做出了积极贡献 。


推荐阅读