写点什么

优步发布开源服务 Kraken:一款 P2P Docker 容器仓库

作者:K Jonas

  • 2019-04-09
  • 本文字数:1284 字

    阅读完需:约 4 分钟

优步发布开源服务Kraken:一款P2P Docker容器仓库

优步于 3 月 5 日发布了 Kraken,这是一个开源的点对点(P2P)Docker 容器仓库。Kraken 旨在为大规模系统提供 Docker 镜像服务,解决跨区域支持、性能瓶颈和混合云环境所面临的挑战。


Kraken 大致基于BitTorrent协议,与 Docker registry API 兼容,并提供可配置的存储后端,诸如S3HDFS等。Kraken 最初于 2018 年初在优步内部开始部署,随后向开源社区公开。


在容器中运行的Docker镜像是由镜像层组成的,这些层包含了相对之前的层所发生的变更,并与镜像文件和可执行文件的二进制大对象(blob)相关联。Docker容器仓库是服务端应用,用于存储和分发镜像层和镜像 blob。Docker 在Docker Hub 提供了免费的容器仓库,另外还提供了商业版本的容器仓库。除 Docker 外,还诞生了很多其它容器仓库以满足各种特殊需求,例如私有托管或将 IPFS 实现为存储后端


优步在一个混合云环境中运行自己的大规模分布式集群。 尽管优步努力通过镜像缓存和数据库分片来提高性能,但 Docker 仓库还是无法满足其环境下不断增长的需求,最终优步团队选择构建了自己的解决方案


Kraken 在优步部署以来,每天能支持超过 100 万个 blob。 在优步的生产高峰时期,Kraken 可以在 30 秒内分发多达 2 万个 blob,每个 blob 的大小从 100MB 到 1GB 不等。 根据Kraken文档介绍,Kraken 能够在每个主机上以高于下载速度上限达 50%的速度分发 Docker 镜像。此外,集群大小和镜像大小都对下载速度没有显著影响。Kraken未来的改进将集中在提升大镜像性能、安全性改进和支持 Docker 标记转换等方面。


Kraken 的优秀架构是优步得以实现可扩展且高度可用的容器仓库的关键所在。该设计的基础是一个定制的 P2P 网络,其中包含数量有限的主机,这些主机将内容分发(seed)到代理网络上。网络中的代理形成具有高连通性和小直径的伪随机规则图,这是提升系统下载速度的重要环节。代理接受来自源的内容,源则在后端存储镜像 blob,并与网络中的端点连接,返回 docker 所请求的镜像。



优步 Kraken 架构(图片来自 Kraken README)


Kraken 最初是使用 BitTorrent 构建的,但 Kraken 与 BT 网络面临的挑战差异导致 Kraken 团队开始构建自己的 P2P 驱动。但该团队也在积极审查 Kraken 协议,以便使其再次与 BitTorrent 实现兼容。


阿里巴巴的原生云计算基金会(CNCF)下属的Dragonfly项目也是一个开源的 P2P 镜像和文件分发系统,可以解决原生云应用中面临的分发问题。Kraken 的文档中注明了两者之间的主要差异:


Dragonfly 集群有一个或几个“超级节点”,用于协调集群中每个 4MB 大小的数据块的传输。虽然超级节点能够做出最佳决策,但整个集群的吞吐量会受到一台或数台主机的处理能力限制,并且随着 blob 大小或集群大小的增加,整体性能会线性下降。

Kraken 的追踪器仅帮助协调连接图,并将实际数据传输的协商留给单独的端点处理,因此 Kraken 可以更好地扩展到大型 blob。最重要的是,Kraken 是 HA 并支持跨集群复制,这两点都是可靠的混合云设置所必需的。


有关 Kraken 的更多信息可以访问GitHub页面,也可以加入优步的Slack频道


查看英文原文Uber Releases Kraken: An Open Source P2P Docker Registry


2019-04-09 08:005248

评论

发布
暂无评论
发现更多内容

JeecgBoot低代码 v3.8.3 大版本发布,组织架构革新+全面迈向 Spring Boot 3 时代

JEECG低代码

低代码 SpringBoot3 JeecgBoot AI低代码平台

全域舆情监测无死角:海外社交媒体监控的精准布控与监测策略

沃观Wovision

社交媒体 海外舆情监控 沃观Wovision 舆情监测系统

车企数据治理平台化实战:从数据孤岛到全链路治理的架构演进

袋鼠云数栈

OMS 对接 API 接口:打通物流查询能力,让订单管理从 “管单” 到 “全链可控”

快递鸟

Linux环境下 代码java调用python出错

刘大猫

人工智能 云计算 大数据 算法 物联网

漏洞挖掘实战解析:Ads Dawson的BugBoss发现之旅

qife122

网络安全 渗透测试

HarmonyOS的连接艺术之四:便捷访问系统功能

最新动态

Java与AI大模型在招聘网站岗位各占半壁江山!Java程序员还有机会吗?该如何突击?

程序员高级码农

Java Java 面试

从AI驱动到量子通信的新时代

知孤云出岫

通信

低代码 “应用中心” 实操指南:从创建到删除的全流程解析

引迈信息

HarmonyOS的连接艺术之一:让应用之间无缝协作

最新动态

HarmonyOS NEXT与安卓开发对比及迁移指南

最新动态

HarmonyOS NEXT实战:构建智能家居分布式协同系统

最新动态

华为鸿蒙嵌入式 UI 扩展组件:跨越界限的舞台

最新动态

HarmonyOS NEXT分布式管理核心功能解析:网络服务和数据传输的实现

最新动态

鸿蒙NEXT应用本地化:多语言新闻阅读应用

最新动态

在AI技术唾手可得的时代,挖掘新需求成为核心竞争力——某知名云开发框架需求探索

qife122

云开发 AI技术

使用「水印抹布」实现Instagram视频无水印下载的解决方案

So...

Instagram

告别繁琐手动操作!让批量创建AD用户变得如此简单

运维有小邓

AD域 AD域管理

HarmonyOS NEXT自由流转能力解析(基础)

最新动态

HarmonyOS的连接艺术之二:精准控制目标应用

最新动态

鸿蒙IME Kit高级开发:共享沙箱机制与输入法数据传输

最新动态

构建高效AI代理的完整指南:从基础组件到生产级工作流

qife122

开源工具 LLM AI代理

鸿蒙自定义编辑框与共享沙箱实现个性化输入法与编辑框的交互

最新动态

鸿蒙NEXT应用本地化:多语言电商平台

最新动态

精选 14 款 .NET 开源、功能强大的快速开发框架,提高开发生产效率、避免工作996!

追逐时光者

C# .net 微软 开源开发框架

iPaaS落地实战:从规划到上线只需四步

谷云科技RestCloud

数据处理 数据传输 集成平台 ipaas

制造业中的多系统困境,如何通过iPaaS“破解”

谷云科技RestCloud

数据处理 数据传输 制造业 ipaas CDC同步

Ivanti EPM移动版12.5.0.0身份验证绕过漏洞分析与利用

qife122

漏洞利用 远程代码执行

HarmonyOS NEXT应用接续开发指南(基础)

最新动态

从开放重定向到XSS:漏洞升级实战

qife122

网络安全 xss攻击

优步发布开源服务Kraken:一款P2P Docker容器仓库_开源_InfoQ精选文章