在一个 Nexus 组中拥有多个成员存储库的性能影响

问题描述

我们将 Nexus 用作组织内的 Maven 镜像,以减少外部网络流量并在某些外部存储库关闭时避免构建失败。

基础设施中有许多不同的项目,其中许多项目需要来自某个特定存储库的一些特定工件,例如 ZK、jaspersoft。

我们考虑了两种策略:

  1. 使用 Nexus 作为“标准”存储库的镜像,例如 central、spring、sonatype,并将外部存储库添加到需要它们的项目的 POM 中(如果其中一些存储库,接受某些构建将失败将变得不可用)

  2. 将至少一个项目使用的所有存储库添加到中央nexus,这意味着nexus中将配置很多存储库(大约50个)。

第二个策略是否对性能有任何影响?

解决方法

第二个策略是清洁策略。

通常,这不会导致性能问题,因为您主要从缓存中读取。

但是,如果列表中有一个非常慢的存储库,这可能会减慢搜索最新版本工件的操作。

但是,如果您确实遇到了策略 2 的性能问题,我会使用策略 1 -- 相反,我会为不同的目的在 Nexus 中定义不同的存储库组。