写点什么

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

评论

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

淘宝天猫商品列表API接口(附代码示例)

tbapi

淘宝API 天猫API 淘宝商品列表API 天猫商品列表api

Ava:6 分钟语音聊天免费生成 MBTI 报告;字节发布图像理解与生成统一模型 Mogao丨日报

RTE开发者社区

YashanDB 知识库|STATISTICS_LEVEL 设置为 ALL,性能掉到冰点?一条参数搞清楚根因

数据库砖家

数据库

如何选择适合企业的财税自动化解决方案

Techinsight

自动化 财务管理

破茧成蝶:阿里云应用服务器让传统 J2EE 应用无缝升级 AI 原生时代

阿里巴巴云原生

阿里云 AI 云原生

突破Excel百万数据导出瓶颈:全链路优化实战指南

电子尖叫食人鱼

数据库 oracle Excel

72小时AI生存挑战 After Party,喊你一起来玩儿!

RTE开发者社区

什么是DDoS攻击?

天翼云开发者社区

安全 DDoS

阿里Java开发手册:编程规约、异常日志、单元测试、安全规 约、MySQL 数据库、工程结构、设计规约!

程序员高级码农

Java 程序员 java 技术提升

BeeWorks企业即时通讯平台,支持国产化生态

BeeWorks

即时通讯

什么是API安全

天翼云开发者社区

安全

越来越多企业为AI焦虑,联想的“超级智能体”来得正是时候

Alter

常见应用层DDoS攻击

天翼云开发者社区

安全 DDoS

闺蜜机行业市场销量涨超42%,小度科技持续领跑行业

科技大数据

云效 MCP Server:AI 驱动的研发协作新范式

阿里巴巴云原生

阿里云 云原生 云效

天翼云出席DCIC2025,“翼立方”创新力拉满!

天翼云开发者社区

智算中心 AIDC

从 OpenAPI 到 MCP:让企业 API 在 AI 助手中焕发新生

阿里巴巴云原生

阿里云 AI 云原生 Higress

Apollo 可观测性最佳实践

观测云

Apollo

11.多用组合和少继承

杨充

连锁药店如何安全访问总部运营系统?贝锐花生壳带来解决方案

贝锐

内网穿透 ERP

需求分析不好做?这门华为新课免费试听!

YG科技

Nacos源码—Nacos配置中心实现分析

量贩潮汐·WholesaleTide

Java 算法 Spring Boot

头部 ERP 厂商如何快速切入 AI 赛道?YMatrix 落地实录

YMatrix 超融合数据库

人工智能 AI YMatrix ERP软件 ERP国产替代

历数Java虚拟机GC的种种缺点

不在线第一只蜗牛

Java

PMC必须要懂的四个关键流程:生产、库存、交期全过程解析!

积木链小链

制造业 智能制造 中小企业 生产管理

阿里云 SLS 多云日志接入最佳实践:链路、成本与高可用性优化

阿里巴巴云原生

阿里云 云原生

行业首发!联想携手火山引擎推出可信个人云方案

新消费日报

为什么说企业办公最好使用私有化部署的im即时通讯?

BeeWorks

即时通讯 IM

AI工具如何一键生成图表?5个流行的图表生成软件盘点!

职场工具箱

人工智能 图表 AI软件 AIGC 可视化工具

Nacos源码—Nacos配置中心实现分析(二)

量贩潮汐·WholesaleTide

Java 算法 Spring Boot

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