Uber开源P2P容器仓库Kraken,每秒分布TB级数据

栏目: 软件资讯 · 发布时间: 5年前

内容简介:Docker容器仓库的主要职能是存储和分布Docker镜像。这是个看似容易的任务,但是当计算集群达到Uber的规模后,容器仓库很容易成为系统的瓶颈。尤其在混合云多活架构下,镜像分布变得更加复杂。为了解决私有容器仓库的性能问题,Uber开发了P2P的镜像仓库——Kraken(海怪)。容器技术一直以来是Uber架构的基础(Uber为此还开发了自己的镜像生成工具Makisu——卷帘),但是随着计算集群的增长,简单在私有容器仓库的基础上做数据分片和增加cache无法提供Uber所需的流量。

Docker容器仓库的主要职能是存储和分布 Docker 镜像。这是个看似容易的任务,但是当计算集群达到Uber的规模后,容器仓库很容易成为系统的瓶颈。尤其在混合云多活架构下,镜像分布变得更加复杂。

为了解决私有容器仓库的性能问题,Uber开发了P2P的镜像仓库——Kraken(海怪)。

容器技术一直以来是Uber架构的基础(Uber为此还开发了自己的镜像生成工具Makisu——卷帘),但是随着计算集群的增长,简单在私有容器仓库的基础上做数据分片和增加cache无法提供Uber所需的流量。

Kraken在2016年应运而生。这个项目着重于可扩展性和可用性,并且适用于再混合云架构中的镜像管理,复制和分布。Kraken还支持后台扩展,可以以其他容器仓库为后台,单纯的作为发布层来部署。

架构

Uber的工程师经过了几轮设计,最终选定P2P的架构。Kraken使用的P2P协议基于BitTorrent,但是加以了改进,使其更适合在数据中心内部署的企业级应用。

Kraken本身不负责数据的存储,而是支持多种存储后台,比如AWS S3,HDFS,甚至是其他的应用仓库。存储后台的界面设计非常通用,开发者可以轻松的加入新的实现。

Kraken的各个部分都可以自我修复,任意单一机器的问题都不会对系统整体造成影响。假如有多个异地集群,Kraken还支持基于镜像名的异地无损复制。

性能

Kraken在2018年初被部署入生产环境。自那以后,曾经的镜像仓库性能问题不复存在。

最忙碌的一个Kraken集群每天分布超过一百万个镜像层,其中有十万个以上大小超过1GB。在高峰时期,Kraken可以在30秒内分布2万个大小在100MB和1GB之间的镜像层。

Kraken的可扩展性使其可以轻松支持超过8000台机器的计算集群,而且可以以最大下载速度50%以上的速度向集群中每台机器分布镜像。事实上在Uber收集到的数据中,集群和镜像的大小对下载速度没有明显的影响。

对比

对于第一次听说Kraken的开发者而言,难免会问到Kraken和阿里巴巴Dragonfly(蜻蜓)项目的区别。Dragonfly的架构中,由超级节点决定每一块4MB数据块的流向。虽然超级节点理论上可以做出最优的选择,但是整个集群的流量会被一台或几台机器的处理能力所限制。随着集群或镜像大小的增加,性能会呈线性下降。

Kraken的架构中,中心部件Tracker只负责搭建起一个随机正则图的网络拓扑结构,但是具体的数据传输的协商是由每台机器上的peer进程负责,所以Kraken的性能不会太受集群和镜像大小的影响。此外,Kraken是一个高可用性的系统,并且支持异地无损复制,适合使用于混合云环境。

开源

自从内部使用以来,Kraken已被用来管理Uber的所有镜像。

Uber希望可以通过开源这个项目,来引发更多Docker相关领域的讨论。

假如您对Kraken的实现细节有兴趣,请访问Kraken的 GitHub页面

原文链接: # Introducing Kraken, an Open Source Peer-to-Peer Docker Registry (作者:Yiran Wang)


以上所述就是小编给大家介绍的《Uber开源P2P容器仓库Kraken,每秒分布TB级数据》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

互联网黑洞

互联网黑洞

仲昭川 / 电子工业出版社 / 2014-4 / 50.00

万物之灵,存乎一心;互联网时代,上兵伐谋。 纵横古今商业奥秘,无非兴趣与利益、诱惑与满足、成本与利润、价格与价值。 本书着眼于大互联网时代,旨在通过对时下互联网圈子的冷静分析、传奇披露、实战揭秘,进而传授互联网哲学,阐述互联网现状,揭示互联网价值,尝试为互联网的未来探寻狭窄的通道。一起来看看 《互联网黑洞》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具