V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
eryajf
V2EX  ›  程序员

上周有同学提到保存 Nexus 历史镜像的问题,我来详解一下 Nexus 社区版本如何选择?

  •  
  •   eryajf ·
    eryajf · 5 天前 · 1664 次点击

    前贴: https://www.v2ex.com/t/1186284

    看到贴文内容之后,我针对各个关键节点版本做了部署测试,得出如下结论:

    从 3.77.0 版本开始,组件数上限 10w ,日请求上限 20w 。从 3.87.0 版本开始,组件数上限降为 4w ,日请求数降为 10w 。

    版本详细介绍,以及上限验证结果,详见博文: https://wiki.eryajf.net/pages/b6b711/

    除了记录了对应版本,我还针对历史镜像做了归档,有需要的同学可以自取。

    15 条回复    2026-01-20 10:00:11 +08:00
    kyonn
        1
    kyonn  
       5 天前
    感谢楼主的详细测试.
    kyonn
        2
    kyonn  
       5 天前
    限制逐渐锁紧没什么, 关键是升级了不让回退, 非常麻烦.
    eryajf
        3
    eryajf  
    OP
       5 天前
    @kyonn #2 我还没测试过回退,版本相距不远的话,应该可以的吧?回头我也测试下
    kyonn
        4
    kyonn  
       5 天前
    @eryajf 验证用的是内置 H2 数据库吗? 外置 postSQL 不知道有没有区别.
    66z
        5
    66z  
       5 天前
    有其他的开源方案可以代替吗
    newaccount
        6
    newaccount  
       5 天前
    “如果能够预见规模不会很大,那么可以考虑选择 3.86.3”

    这个不存在,因为本地缓存的 jar 包版本也会被计算到 components 中
    当初我遇到的问题,就是在使用一段时间之后,随着 spring 引用版本的更新,这个数量在 3.8 万,接近 3.9 ,原本距离 10w 的上限很远,大可放心使用,但更新之后的 4w 限制导致这个几乎立即不可用( spring boot 4.0 的更新导致很多包需要缓存)
    以这个限制的事实为基础,有充分理由相信 sonatype 就是通过统计数据,故意设置了一个让你用的很难受的数值作为上限来强迫购买
    降级更不可能,镜像启动失败,明确告诉必须使用匹配的版本,也许这个值可以在数据库中找一下,但就能够做出这种事的态度来看,很有可能通过热更新让这个失败
    所以,要么使用旧版本,并且希望 sonatype 别在干出什么不做人的事儿让旧版本失效(参考 bitnami 能干出的狗事),要么赶紧找替代品(我还没找到)
    newaccount
        7
    newaccount  
       5 天前
    @newaccount #6 另外,由于以后不能升级,那么一旦发现旧版本的技术栈中出现 CVE 漏洞,或者由于技术更新、升级等因素导致旧版本不可用,那时候啥都做不了
    就目前的情况来看,继续使用 nexus 的未来风险极大
    kyonn
        8
    kyonn  
       5 天前
    @newaccount bitnami 干过什么?
    eryajf
        9
    eryajf  
    OP
       5 天前
    @66z 开源软件里,各个单语言栈领域的能找到,但能和 nexus 聚合能力比肩的,没有
    eryajf
        10
    eryajf  
    OP
       5 天前
    @newaccount #6 “如果能够预见规模不会很大,那么可以考虑选择 3.86.3” 这句想表达的意思是这个版本是最后一个 10w 上限的版本,再往前进一个版本,就到 4w 了,如果知道不会超过 10w ,那选择这个版本就够用。
    redial39
        11
    redial39  
       5 天前
    我在 nexus 前面架了一个 ng,用来本地缓存请求,每日请求从 20w 降到 7k,目前用下来没有什么异常,但是组件的限制是没办法破除的,唯一能想到的办法就是分散 nginx,用不同的二级域名来分流不一样的 repo 请求
    redial39
        12
    redial39  
       5 天前
    @redial39 分散 nexus
    eryajf
        13
    eryajf  
    OP
       5 天前
    @redial39 #11 这个操作太复杂了,虽然可行😂
    Foxkeh
        14
    Foxkeh  
       5 天前
    很用心的文章,还有实践验证。

    我也是前不久 12 月中手贱升级到最新版后发现首页统计限制,而且降级似乎不行,好在私有包不多大多是代理缓存的,咨询了一下 GPT ,索性重新部署了 3.76.1 版本养老
    eryajf
        15
    eryajf  
    OP
       4 天前
    @Foxkeh 感谢,如果私包不多的情况下,并且没有内部包的情况下,重建的成本就还好
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2868 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 14:07 · PVG 22:07 · LAX 06:07 · JFK 09:07
    ♥ Do have faith in what you're doing.