Dragonfly 最新版本 v2.0.9 发布

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

图片

图片

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] 了解更多。

Baiidu 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 Star 一下✨:
https://github.com/dragonflyoss/Dragonfly2

本周推荐阅读

图片

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

图片

Dragonfly 中 P2P 传输协议优化

图片

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

图片

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

相关实践学习
通过ACR快速部署网站应用
本次实验任务是在云上基于ECS部署Docker环境,制作网站镜像并上传至ACR镜像仓库,通过容器镜像运行网站应用,网站运行在Docker容器中、网站业务数据存储在Mariadb数据库中、网站文件数据存储在服务器ECS云盘中,通过公网地址进行访问。
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
存储 人工智能 芯片
面向AI的服务器计算互连的创新探索
面向AI的服务器计算互连创新探索主要涵盖三个方向:Scale UP互连、AI高性能网卡及CIPU技术。Scale UP互连通过ALink系统实现极致性能,支持大规模模型训练,满足智算集群需求。AI高性能网卡针对大规模GPU通信和存储挑战,自研EIC网卡提供400G带宽和RDMA卸载加速,优化网络传输。CIPU作为云基础设施核心,支持虚拟化、存储与网络资源池化,提升资源利用率和稳定性,未来将扩展至2*800G带宽,全面覆盖阿里云业务需求。这些技术共同推动了AI计算的高效互联与性能突破。
|
11月前
|
人工智能 安全 测试技术
本周 AI Benchmark 方向论文推荐
由北京大学和微软亚洲研究院的魏李等人提出的 FEA-Bench,是一个专为评估大型语言模型(LLMs)在代码库级别进行增量开发能力的基准测试。它从 83 个 GitHub 仓库中收集了 1,401 个任务实例,专注于新功能的实现。研究表明,即使是先进的 LLMs 在此任务中的表现仍远低于预期,揭示了仓库级代码开发的重大挑战。
612 0
|
机器学习/深度学习 测试技术 PyTorch
深度学习之测量GPU性能的方式
在深度学习中,测量GPU性能是一个多方面的任务,涉及运行时间、吞吐量、GPU利用率、内存使用情况、计算能力、端到端性能测试、显存带宽、框架自带性能工具和基准测试工具等多种方法。通过综合使用这些方法,可以全面评估和优化GPU的性能,提升深度学习任务的效率和效果。
1172 5
|
缓存 Java Serverless
Golang中的闭包详解
Golang中的闭包详解
请说出路由传参和获取参数的三种方式
请说出路由传参和获取参数的三种方式
183 1
|
机器学习/深度学习 人工智能 Java
《IDEA 2023常用插件安装与全局配置教程大全》——提升你的开发效率
《IDEA 2023常用插件安装与全局配置教程大全》——提升你的开发效率
1755 0
|
算法 安全 物联网
GTS自动补偿机制时间同步
【8月更文挑战第26天】
384 5
|
存储 消息中间件 移动开发
还在用crontab? 分布式定时任务了解一下
还在用crontab? 分布式定时任务了解一下
|
NoSQL
gdb问题解决办法:no debugging symbols found
gdb问题解决办法:no debugging symbols found
1711 0
|
XML Web App开发 JavaScript
软件测试 -- Selenium常用API全面解答(java)
软件测试 -- Selenium常用API全面解答(java)
297 0