问题描述
我们将 Nexus 用作组织内的 Maven 镜像,以减少外部网络流量并在某些外部存储库关闭时避免构建失败。
基础设施中有许多不同的项目,其中许多项目需要来自某个特定存储库的一些特定工件,例如 ZK、jaspersoft。
我们考虑了两种策略:
-
使用 Nexus 作为“标准”存储库的镜像,例如 central、spring、sonatype,并将外部存储库添加到需要它们的项目的 POM 中(如果其中一些存储库,接受某些构建将失败将变得不可用)
第二个策略是否对性能有任何影响?
解决方法
第二个策略是清洁策略。
通常,这不会导致性能问题,因为您主要从缓存中读取。
但是,如果列表中有一个非常慢的存储库,这可能会减慢搜索最新版本工件的操作。
但是,如果您确实遇到了策略 2 的性能问题,我会不使用策略 1 -- 相反,我会为不同的目的在 Nexus 中定义不同的存储库组。