写点什么

优步发布开源服务 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:005066

评论

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

2600亿!全球最大中文单体模型鹏城-百度·文心发布

百度大脑

人工智能

华为云应用构建技术实践精选集

华为云开发者联盟

云计算 华为云 内容合集 技术专题合集 应用构建

保险行业办理过等保选择哪家好?有成功案例吗?

行云管家

网络安全 等保 等级保护 等保2.0

万字详解什么是生成对抗网络GAN

华为云开发者联盟

算法 推荐算法 GAN 强化学习 生成对抗网络

2021年11月国产数据库大事记

墨天轮

数据库 opengauss TiDB oceanbase 国产数据库

再添神器!Paddle.js 发布 OCR SDK

百度开发者中心

OCR paddle.js

探索圈外的世界 | GTLC 全球技术领导力峰会·厦门站圆满收官

TGO鲲鹏会

区块链 方法论 技术管理 GTLC

一个渐进式微前端框架 - Fronts

RingCentral铃盛

架构 大前端 测试 经验分享

羊肉泡馍我们来了,尚硅谷西安分校设立首期特惠

编程江湖

编程开发

【混合云小知识】混合云应用场景包含哪些?

行云管家

云计算 混合云

CSS之选择器

Augus

CSS 12月日更

【喜讯】尚硅谷西安分校成立啦

@零度

尚硅谷 西安分校成立

如何用GoldWave将音频添加生成机械化音效

懒得勤快

The Data Way Vol.7|从故事里寻找开源的『内核』

SphereEx

Apache 开源 播客 Meetup SphereEx

🍃【Spring专题】「实战系列」spring注解@ConditionalOnExpression详细使用说明

码界西柚

spring Spring Framework Condition 12月日更 ConditionOnExpression

零代码训练营第七期本月启动,现正开放报名!

明道云

产品经理进阶(一)Web APP UI一致性设计

No Silver Bullet

产品经理 12月日更

30个类手写Spring核心原理之环境准备(1)

Tom弹架构

Java spring 源码

热门盘点:企业该如何对待低代码?应不应该选择低代码?

优秀

低代码

解析云原生2.0架构设计的8大关键趋势

华为云开发者联盟

云原生 架构设计 数据治理 存算分离 分布式云

「MySQL」数据库备份和还原

恒生LIGHT云社区

MySQL 数据库 MySQL 数据库

结算中心全国集中化支撑解决之道

鲸品堂

java序列化实现原理和深度分析

Java个体户

Java

斟茶兵——远程进程管理

白粥

进程管理 运维开发 系统维护 离职交接 日常工作

埃文科技上榜CCSIP 2021中国网络安全产业全景图3大安全模块

郑州埃文科技

网络安全 ip技术 全景图

Linux一学就会之重定向和文件的查找(Linux下一切皆文件)

学神来啦

Linux 运维 linux云计算 linux一学就会

EasyRecovery如何恢复ps的psd文件

淋雨

数据恢复 EasyRecovery

EMQ 映云科技走进高校,与浙大城市学院联合促进物联网人才培养

EMQ映云科技

物联网 mqtt

Cypress 基础 - 元素的定位

汪子熙

CSS html Cypress 28天写作 12月日更

构建信创基础软硬件共同体,DataPipeline与中科曙光完成产品兼容互认证

DataPipeline数见科技

大数据 中间件 服务器 数据融合

缓存数据的淘汰之路(上)

卢卡多多

28天写作 签约计划第二季 12月日更

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