关于安全:喜大普奔JFrog支持-P2P下载功能

29次阅读

共计 1242 个字符,预计需要花费 4 分钟才能阅读完成。

【喜大普奔】JFrog 反对 P2P 下载性能

  1. 需要背景

============

在大规模 Docker 容器运行时环境中,如果镜像实例数 较多,须要同时大规模,多地更新镜像,比方大型电商平台须要更新所有容器的镜像时,Docker 镜像核心往往成为性能瓶颈,这个瓶颈往往来自于镜像核心的网络进口,比方镜像核心所在主机有万兆网卡,则网络流量会被限度在 1000MB(留神是大 Byte),通常这个网卡会被多个利用共享应用,所以流量有很多损耗,导致无奈满足 Docker 镜像实时散发的需要。即便将 Docker 镜像核心进行异地分布式部署,也存在刹时的并发拉取流量难以满足,从而导致 Docker 拉取镜像失败,Pod 无奈启动。

  1. 性能介绍

===========

为了解决这个问题,JFrog Artifactory E+ 7.9 版本反对了 P2P 性能。之前的镜像拉取形式如下:

反对 P2P 之后,镜像的散发形式如下:

JFrog P2P 性能可能让用户从 Peer 网络中间接获取制品,Peer 节点存储了种子制品和缓存过的制品,从而大大的缩小 Artifactory 的下载压力。

l JFrog P2P 模块的架构:

l Tracker: 是一个 Artifactory 的服务,用来播送和追踪可用的种子制品在哪个 peers 和服务器。

l Peer: 是一个独有的 JFrog 应用程序,部署在 peers 节点的主机上,和其余 peers 节点通信。Peer 节点连贯 Tracker 去下载制品,并且申明种子的可用性给 Tracker.

l P2P Swarm: 是一个 peers 节点的逻辑汇合,它造成了分布式的网络,用于给集群内的 Docker 客户端共享制品。

l Client: 客户端软件用户和 peer 交互,通常是 Docker 或者 HTTP client.

l JFrog P2P 下载的工作流:

  1. Peer 装置在连贯到 Artifactory 的主机上,例如 Kubernetes work node。
  2. Peer 节点连贯到 Artifactory Edge,而后注册在 Trakcer 上,作为种子服务器提供服务。所有的下载都通过 SSL 加密,应用 Artifactory 的链式认证进行对立鉴权.Peer 节点监听客户端或者其余 Peer 节点的下载申请。
  3. 当 Peer 节点下载好种子文件后,会主动播送给各个 Tracker 本人的内容,Tracker 会存储这些种子文件的信息。
  4. 当 Peer 节点监听到客户端申请时,会去 Tracker 查问哪些 Peer 节点曾经缓存了该文件,Tracker 会回复 Peer 节点的申请,而后 Peer 节点开始从 Peer swarm 里的这些节点去进行下载。
  5. 当文件被缓存在 Peer 节点上,这个信息会被 Tracker 发现并播送,可能别并发的被其余 peer 节点拉取。下载的过程是多线程并发的执行,因而可能打满 Peer 集群外部的网络带宽,使得下载速度比从 Artifactory 服务器下载更放慢。
  6. 收益

=========

通过 P2P 性能,用户可能极快的拉取镜像,实现业务的连续性,目前 JFrog E+ 版本中反对了这个性能。欢送大家收费下载试用。

正文完
 0