文|戚文博(花名:百蓦)

Dragonfly Maintainer

蚂蚁集团软件工程师

主要负责「基于 P2P 的文件以及镜像加速系统」。

本文 5005 字 阅读 13 分钟

Dragonfly 最新正式版本 v2.0.9 已经发布!感谢 Dragonfly 的贡献者们,同时也感谢默默支持 Dragonfly 项目的各个公有云团队。欢迎访问 d7y.io[1] 网站来了解详情,下面具体介绍 v2.0.9 版本带来了那些更新。

功能

1、下载任务可以根据优先级(Priority)进行下载。优先级可以在下载任务时 Cli 中作为参数传入,也可以在 Manager Console 设置对应应用关联的优先级。具体不同优先级的功能可以参考文档 priority protoc definition[2] 

2、Scheduler 配置新增 PieceDownloadTimeout 字段,做用是当某个 Piece 下载超过 Timeout 时,设置对应的 Task 状态变更为失败。防止异常 Task 元信息残留在 Scheduler 中。

3、gRPC 服务新增 Health Service 和 Reflection 服务。

4、Manager 支持 Redis 哨兵模式(sentinal model)

5、重构 Dynconfig 模块移除 json.Unmarshal 操作,提高 Dynconfig 模块运行时效率。并且支持通过健康检查的方式过滤异常地址服务。

6、修复当前无可用服务时,gRPC 未构建哈希环所造成的异常。

7、早期版本当同一个 Task 的多个 Piece 并发下载时,Scheduler 会调度多个 Parent 给当前 Peer 进行下载,但多个 Piece 基本都会从单个 Parent 进行下载。当前版本更改多个 Piece 可以从不同的 Parent 并发下载,可以防止流量集中在部分热点 Parent,提高下载效率的同时也提高了带宽平均利用率。

8、Peer 调用 Manager 获取匹配的 Scheduler Cluster 的时候。如果没有匹配到任何 Scheduler Cluster,那么 Manager 会返回所有的 Scheduler Cluster 提供给 Peer。Peer 会使用 Health Check 通过的 Scheduler Cluster 地址供后续下载调度使用。

9、支持 ORAS[3] 网客户端的回源下载协议,扩展容器镜像生态支持。

10、增加 UDP Ping 包的支持和虚拟网络拓扑的 gRPC Protoc 定义。未来会新增基于网络探测构建虚拟网络拓扑结构,提高调度算法的精确度。

11、完成 V2 版本的 P2P 协议[4] 网的定义。Scheduler 和 Manager 对应实现了 V2 版本的 P2P 协议的功能。未来会基于 V2 版本的 P2P 协议和 Rust 语言重写 Dfdaemon,提高客户端性能的同时能够依赖更加标准且扩展性更强的 V2 版本的 P2P 协议。

12、OSS 客户端回源协议新增基于 STS 临时访问凭证来访问 OSS 源站。

13、Scheduler 新增 Host TTLandhostGCInterval 配置,主要作用于 Host 元数据的释放。可以保证在 Peer 主机异常退出的情况下,仍然可以释放掉异常的 Host 元数据,防止脏数据残留。

14、Manager 的 Searcher 模块新增根据 CIDR[5] 条件去筛选当前 Peer 匹配的 Scheduler Cluster,提供更精确的匹配计算方式。

15、重构 V1 版本 P2P 协议的 Metric,新增加了 V2 版本 P2P 协议的 Metric,并且根据新的 Metrics 更新 Helm Charts[6]  的 PrometheusRule 对应的告警规则。重新整理 Dragonfly Grafana Dashboards[7] 方便用户可以一键导入 Dashboards,观测 P2P 网络流量以及服务相关数据。

具体文档可以参考 Monitoring[8]  ,Grafana Dashboard 维护在项目 Dragonflyoss/Monitoring[9] 中。版本更新包含的更多细节可以参考 ChangeLog[10] 

破坏性变更

老版本 Manager 由于使用了默认的 JWT Key 生成 JWT Token 会引起安全性问题,具体可以参考 security issues[11] 。所以 Manager 服务配置文件新增了 JWT 配置[12] 

当老版本 Manager 升级过程中需要在新版本 Manager 的配置文件中新增 JWT Key 配置,并且 JWT Key 是需要用户自己生成,具体 JWT Key 如何配置可以参考 Setting it in the Manager Configuration[13] 

公有云厂商支持

Alibaba Cloud(阿里云)- 阿里云提供安装 Dragonfly 1.x 在容器镜像仓库 Container Registry[14] 。使用文档可以参考 Use P2P Acceleration in ASK[15] 。推荐使用更加高效且稳定的 Dragonfly 2.0[16] ,部署文档参考 Setup Dragonfly in Kubernetes[17]

Google Cloud Platform(GCP)- GCP 提供一键点击部署 Dragonfly 在 Google Kubernetes Engine(GKE)[18] 的 Marketplace[19],具体文档可以参考 Click to Deploy Dragonfly[20]

Volcano Engine(火山引擎)- 火山引擎在容器服务(VKE and 和镜像仓库(CR)中集成了 CNCF 孵化项目 Dragonfly。欢迎访问 VKE[21] & CR[22] 了解更多。

Baidu AI Cloud(百度智能云)- 百度智能云提供在 Cloud Container Engine(CCE)[24] 一键部署 P2P 加速服务,其能力来自于 Dragonfly。

|相关链接|

Dragonfly 社区官网网站:

[1] Dragonfly 官网:https://d7y.io/

[2] Priority Protoc Definition:https://github.com/dragonflyoss/api/blob/main/pkg/apis/common/v2/common.proto#L74

[3] ORAS:https://github.com/oras-project/oras

[4] V2 版本的 P2P 协议:https://github.com/dragonflyoss/api/tree/main/proto

[5] CIDR:https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing

[6] Helm Charts:https://github.com/dragonflyoss/helm-charts

[7] Dragonfly Grafana Dashboards:https://grafana.com/grafana/dashboards/?search=dragonfly

[8] Monitoring:https://d7y.io/docs/concepts/observability/monitoring

[9] Dragonfly Monitor:https://github.com/dragonflyoss/monitoring

[10] ChangeLog:https://github.com/dragonflyoss/Dragonfly2/blob/main/CHANGELOG.md

[11] Security issues:https://github.com/dragonflyoss/Dragonfly2/security/advisories/GHSA-hpc8-7wpm-889w

[12] JWT 配置:https://github.com/dragonflyoss/Dragonfly2/pull/2161

[13] Setting it in the Manager configuration:https://github.com/dragonflyoss/d7y.io/blob/main/docs/reference/configuration/manager.md?plain=1#L56

[14] 阿里云镜像仓库:https://www.alibabacloud.com/product/container-registry

[15] Use P2P Acceleration in ASK:https://www.alibabacloud.com/help/en/container-registry/latest/use-the-p2p-acceleration-feature-in-ask-and-ack-clusters

[16] Dragonfly 仓库:https://github.com/dragonflyoss/Dragonfly2

[17] Setup Dragonfly in Kubernetes:https://d7y.io/docs/getting-started/quick-start/kubernetes/

[18] Google Kubernetes Engine(GKE):https://cloud.google.com/kubernetes-engine

[19] Google Cloud Platform(GCP)Marketplace:https://console.cloud.google.com/marketplace/product/google/dragonfly

[20] Google Cloud Platform(GCP)Dragonfly Marketplace:https://console.cloud.google.com/marketplace/product/google/dragonfly

[21] 火山引擎容器服务(VKE):https://www.volcengine.com/product/vke

[22] 火山引擎镜像仓库(CR):https://www.volcengine.com/product/cr

[23] 百度智能云容器服务(CCE):https://intl.cloud.baidu.com/product/cce.html

[24]Dragonfly 官网:https://d7y.io/

[25]Dragonfly Charts 仓库:https://github.com/dragonflyoss/helm-charts。

[26]Dragonfly Monitor 仓库:https://github.com/dragonflyoss/monitoring。

[27]阿里云容器仓库:https://www.alibabacloud.com/product/container-registry。

[28]阿里云容器服务(ACK)https://www.alibabacloud.com/product/kubernetes。

[29]Google Kubernetes Engine(GKE)https://cloud.google.com/kubernetes-engine。

[30]Google Cloud Platform(GCP)Dragonfly Marketplace:https://console.cloud.google.com/marketplace/product/google/dragonfly

[31]火山引擎容器服务(VKE)https://www.volcengine.com/product/vke

[32]火山引擎容器仓库(CR)https://www.volcengine.com/product/cr

[33]百度智能云容器服务(CCE)https://intl.cloud.baidu.com/product/cce.html

扫码加入 Dragonfly 钉钉群,快来和我们一起讨论吧!

Dragonfly Star 一下✨:
https://github.com/dragonflyoss/Dragonfly2

   本周推荐阅读  

Dragonfly 基于 P2P 的文件和镜像分发系统

Dragonfly 中 P2P 传输协议优化

Occlum Meetup - 一起来聊机密计算 TEE

展台招募|“SOFA 五周年”开源集市等你来!

Dragonfly 最新版本 v2.0.9 发布相关推荐

  1. 《测量助理》最新版本V3.0.220618发布更新

    测量助理软件主要功能:公路路线参数辅助计算.批量计算直线.曲线逐桩坐标.竖曲线高程,坐标正反算.角度换算.内插法计算.线路主点切线方位角计算.曲线参数计算.高斯正反算.换带计算.四参数坐标转换.七参数 ...

  2. 《测量助理》最新版本V3.0.221215发布更新

    主要功能 基本测设 公路路线参数辅助计算.批量计算直线.曲线逐桩坐标.竖曲线高程计算.批量坐标正反算.批量角度单位换算.桥台锥坡计算.花瓶墩计算.高斯正反算.换带计算.大地坐标与空间直角坐标互相转换. ...

  3. 路过秋天版博客 V2.0 测试版发布 公测一周[支持多语言、多用户、多数据库、目录级URL]...

    路过秋天版博客发布历史回顾: 1:2010年11月08日---支持多语言.多用户.多数据库.目录级URL之路过秋天版博客发布[绝对有杀伤力的博客] 2:2010年11月10日---基础却容易被忽略的那 ...

  4. 阿里巴巴开源 Dragonwell JDK 最新版本 8.1.1-GA 发布

    导读:新版本主要有三大变化:同步了 OpenJDK 上游社区 jdk8u222-ga 的最新更新:带来了正式的 feature:G1ElasticHeap:发布了用户期待的 Windows 实验版本 ...

  5. 慧算账V2.0版发布,互联网记账再升级

    本文讲的是慧算账V2.0版发布,互联网记账再升级,日前,慧算账迎来了一次版本的更新升级,V2.0版正式震撼上线.据悉,新推出的版本除了继续提升产品功能和完善用户体验外,其在智能化方面的表现也相当惹眼, ...

  6. 车机高德导航Linux版升级,高德地图车机版 最新版本V2.8.2地图数据+软件更新方法...

    最近购买了android的车载导航,导航用的是高德地图车机版,原车用的版本是2.0的版本,跟最近的2.8.2的差别有点大,这里就为大家分享一下如果将软件升级到2.8.2,地图也跟进更新到最新版本,方便 ...

  7. 项目宝提供的服务器,开源WebSocket服务器项目宝贝鱼CshBBrain V4.0.1 和 V2.0.2发布

    开源WebSocket服务器项目宝贝鱼CshBBrain V4.0.1 和 V2.0.2发布 更新的功能列表如下: 1.解决开启广播消息开关时,不能同时接入2个客户端的重大缺陷. 2.对广播消息做了重 ...

  8. Google Chrome 浏览器最新版本 71.0.3578.98(正式版本) (64 位)

    Google Chrome 浏览器 最新版本 71.0.3578.98(正式版本) (64 位) 链接地址:https://share.weiyun.com/5uX1wRc 转载于:https://w ...

  9. php 7.0 nts,PHP最新版本7.0.1-nts-Win32-VC14-x86

    [实例简介] PHP最新版本7.0.1-nts-Win32-VC14-x86 VC14 x86 Non Thread Safe (2015-Dec-16 23:44:11) 官方版本 [实例截图] [ ...

最新文章

  1. NumPy中可用的聚合函数
  2. OpenKruise v1.0:云原生应用自动化达到新的高峰
  3. 那个抗血栓机器人_礼来抗血栓药物普拉格雷(Effient)不及波利维(Plavix)
  4. Eclipse出现the type java.lang.CharSequence can't be resolved.
  5. Head.First.Object-Oriented.Design.and.Analysis《深入浅出面向对象的分析与设计》读书笔记(七)...
  6. fortran安装_如何在 CentOS 8 上安装 GCC
  7. 程序员的工资普遍在20k以上
  8. HDU 2152 Fruit (母函数)
  9. SPOJ LCMSUM - LCM Sum
  10. 浅议.NET、ASP.NET和C#的关系
  11. LeetCode 357. 计算各个位数不同的数字个数(动态规划)
  12. c语言编译器苹果下载,c语言编译器ios下载
  13. IDEA+Java控制台实现教材管理系统
  14. 《剑指offer》重建二叉树的解法
  15. 赛码行测题库_行测数字推理题库
  16. 亚控科技工作中的编程知识小积累
  17. 75 ----平面二次曲线方程的化简: 移轴变换、转轴变换、伸缩变换
  18. 李宏毅2020机器学习课程笔记(一)
  19. MySQL 获取所有库名、表名、字段名
  20. strace命令总结

热门文章

  1. css+引入手机端插件,jQuery手机端mobiscroll时间选择插件
  2. [ENVI] 定量遥感实验-水体叶绿素浓度遥感反演 (超详细步骤)
  3. 11、袋鼠跳(男女各二人)
  4. 隆重推荐【SQLServer】127个SQL server热门资料汇总
  5. c语言计算机图形来画八分画圆,【计算机图形学】基本图形元素:圆的生成算法...
  6. c语言字符串如何转换成gbk,C语言实现GBK/GB2312/五大码之间的转换(转)
  7. 包子和饺子之扫地机器人_千万别买扫地机器人,否则你一定会后悔的!
  8. HT合泰单片机入门教程(第一章 HT单片机环境搭建)
  9. Cocoapod集成阿里百川电商SDK 常见问题 解决方案
  10. Lenovo Legion Y530-15ICH电脑 Hackintosh 黑苹果efi引导文件