V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
MelodYi
V2EX  ›  程序员

为什么使用 Tomcat 算违反国产化要求,但是使用 Netty 却不算。

  •  
  •   MelodYi · Dec 27, 2025 · 8802 views
    This topic created in 128 days ago, the information mentioned may be changed or developed.
    RT. 都是海外的开源软件,licence 也都是一样的。

    背景
    项目上遇到了相关的需求,要求包里不能有 Tomcat 。
    公司上面给的方案却是让换成 Netty 而不是打成 war 包来接入客户提供的国产化 web 服务器。
    由于之前是 spring-web ,阻塞式的,改成 netty 工作量巨大。

    是不是因为 Tomcat 有 TongWeb 这种国产替代。但是国内没人做 Netty 的替代。
    所以 Tomcat 才会上黑名单,但是 Netty 就活着。
    Supplement 1  ·  Dec 29, 2025

    补充下背景:

    1. 某云厂线下交付版本的需求,需求方是几家国企。
    2. 《信创名录》是有明确的范围的,一般只涉及芯片、操作系统、数据库、中间件。web服务器算中间件,在名录里是有的。
    3. 这个需求在名头上和《信创名录》没啥关系,是因为客户有个类似于“非信创黑名单”的东西,tomcat在里面。
    4. 我提这个疑问主要是觉得netty的方案改动太多了。一般此类诉求的解法,应该是打成war包部署到客户提供的信创web服务器(tongweb之类的)。感觉是公司内部框架团队作妖了。
    5. 东方通最近也是有瓜的,因为“2019 年至 2022 年年度报告信息披露存在虚假记载”被退市了,也是很搞笑了。
    67 replies    2025-12-30 14:58:10 +08:00
    chenliangngng
        1
    chenliangngng  
       Dec 27, 2025   ❤️ 10
    国产化很多规定都是“利益相关”,不过借用“国产化”做白手套
    seers
        2
    seers  
       Dec 27, 2025 via Android   ❤️ 2
    纠结这些做啥,甲方说啥就是啥,改就是工作量,要钱完事
    wskymark
        3
    wskymark  
       Dec 27, 2025
    花时间精力思考这个为什么,不如现在天气好买点猪肉晒腊肉呢。
    MelodYi
        4
    MelodYi  
    OP
       Dec 27, 2025
    @seers

    改 netty 不是甲方要求的。甲方只要求不能有 tomcat 的包。
    感觉是公司内某个做框架的团队,拦截了方案。目的是为了推自己基于 spring 和 netty 封装的框架。
    ZeroDu
        5
    ZeroDu  
       Dec 27, 2025   ❤️ 2
    这个国产化都是“利益”, 真要搞怎么不把依赖全替换了
    seers
        6
    seers  
       Dec 27, 2025 via Android   ❤️ 1
    @MelodYi 那更好了,既满足了甲方要求,又有额外工作量,还是自己公司框架,如果甲方找个神神秘秘的技术团队让你对接不是更炸了
    chqome
        7
    chqome  
       Dec 27, 2025
    无非就是利益,动了别人的蛋糕,任何事都是利益驱动一切
    enzocc
        8
    enzocc  
       Dec 27, 2025   ❤️ 3
    tomcat 源码 clone 下来,批量替换名称,在打国产的包名 [狗头]
    liuidetmks
        9
    liuidetmks  
       Dec 27, 2025 via iPhone   ❤️ 7
    自己编译一个 Tomdog ?
    ntdll
        10
    ntdll  
       Dec 27, 2025
    编译出来,通过 proguard 。抹掉 tomcat 相关的包名,也许可行
    gongym
        11
    gongym  
       Dec 27, 2025
    @MelodYi 有人给你背锅还不好吗,用了公司内部的框架,有啥问题都有人解决
    fyooo
        12
    fyooo  
       Dec 27, 2025
    @liuidetmks 哈哈哈哈哈,好玩
    Gilfoyle26
        13
    Gilfoyle26  
       Dec 27, 2025
    说你行你就行,不行也行,说不行就不行,行也不行。

    不服不行
    leiphi
        14
    leiphi  
    PRO
       Dec 27, 2025
    这边建议直接 TomDragon
    HENQIGUAI
        15
    HENQIGUAI  
       Dec 27, 2025
    自己编译一下改个 icon 和包名什么的
    unused
        16
    unused  
       Dec 27, 2025 via Android
    国产化不等于去外国化
    midsolo
        17
    midsolo  
       Dec 27, 2025   ❤️ 1
    国产化跟当年的去 IOE 化一样,里面全是利益链
    potatowish
        18
    potatowish  
       Dec 27, 2025 via iPhone
    就是应付上面的分摊的指标和检查,挑一些不重要的系统,单独部署一套信创环境,这和领导下来检查,刷绿漆搞绿化如出一辙,几千年来一直如此
    54xavier
        19
    54xavier  
       Dec 27, 2025   ❤️ 4
    @liuidetmks JerryMouse

    《 Tom & Jerry 》
    54xavier
        20
    54xavier  
       Dec 27, 2025
    @liuidetmks SpikeDog
    mlsnatalie
        21
    mlsnatalie  
       Dec 27, 2025   ❤️ 2
    @seers 一般这种都是给的时间不变,但是工作量增加几倍
    dzdh
        22
    dzdh  
       Dec 27, 2025
    不敢想。

    如果那个 Solon 要是拿到了什么认证 :doge:
    mingtdlb
        23
    mingtdlb  
       Dec 27, 2025
    看怎么跟上面宣导。

    上面那帮人都不懂的,但他们有权力。比如要做一个东西,上面会先问下下面的这般厂商,能不能做,能做就发文。
    ikas
        24
    ikas  
       Dec 27, 2025
    以前也遇到过,最后使用内嵌 tomcat 加上不再以 war 发布.
    后来新项目又遇到扫描说有 tomcat 关键词,最后修改 tomcat 为 blackdog 然后自编译内嵌.

    改成 netty 工作也不会大吧.只要使用 netty-servlet 即可,基本区别不大.
    hefish
        25
    hefish  
       Dec 27, 2025
    少年,你还年轻,别问这么多,将来你肯定能明白。 赶紧去上报工作量吧。
    skilyalex
        26
    skilyalex  
       Dec 27, 2025
    tomcat 的包名都改成 jerrymouse ,自己编一个出来
    neptuno
        27
    neptuno  
       Dec 27, 2025
    定规则的人不知道 netty 吧
    guzzhao
        28
    guzzhao  
       Dec 27, 2025
    undertow 呢
    spike0100
        29
    spike0100  
       Dec 27, 2025 via iPhone   ❤️ 1
    java 也是国外的。请改用哄蒙。
    maymay5
        30
    maymay5  
       Dec 27, 2025   ❤️ 1
    这不很正常吗,我还知道一类国产化做法,服务器装麒麟,麒麟里用虚拟化装 Windows 虚拟机,应用跑在虚拟机上,就算国产化完成了
    loading
        31
    loading  
       Dec 27, 2025
    应该是“精准招标”,可能对手用的就是 Netty ,如果你们也用 Netty ,他们就再加个筛选条件。
    loading
        32
    loading  
       Dec 27, 2025
    刚没看 OP 后续回复

    不能只用编程技术去解决市场问题。
    huaweii
        33
    huaweii  
       Dec 27, 2025 via Android   ❤️ 1
    稍微涉及到具体的软件名字,那些个疑似踩缝纫机的 pinky 蛆账号就没有声音了🤡
    LYRYRYlo
        34
    LYRYRYlo  
       Dec 27, 2025
    移动一堆网站用的 Tomcat
    yayoi
        35
    yayoi  
       Dec 27, 2025
    因为定规则的又不懂,只是的会把常用的特别提出来,tomcat 就是这种.于是就会告知你不能用 tomcat,但是别的不管.说实话也管不了,大部分都是只看下应用本身和数据库,真要细究起来,很多玩意其实都不算信创,容器化都用不了,还干不干活了
    lujiaxing
        36
    lujiaxing  
       Dec 27, 2025   ❤️ 1
    所以就像某些地方为什么不允许信创用 .net 跟 golang ? 那可都是 100% 开源卡不到脖子的.
    原因很简单
    因为相关的方面就是做 java 中间件的. 如果你们用非 java 技术栈, 他们如何卖自己的 java 中间件产品?

    嘴上都是主义, 心里都是生意.

    信不信创, 说到底就是甲方领导一句话的事儿.
    shuijinliuxi
        37
    shuijinliuxi  
       Dec 27, 2025
    太正常了,做过几个国内的信创项目,都是这样,上面的人不懂技术,必须要求国产化,还要求特高,但国产的东西很多都不成熟、各种问题,所以底下的人只能利用各种手段应付过去,比如改名、换不那么大众的技术。
    itnoob
        38
    itnoob  
       Dec 27, 2025
    换成 Undertow 容易一些的吧
    jlkm2010
        39
    jlkm2010  
       Dec 27, 2025
    @midsolo 去 IOE 是阿里等私企带头搞的
    xxxccc
        40
    xxxccc  
       Dec 27, 2025
    @midsolo 去 ioe 有啥问题吗?
    v1
        41
    v1  
       Dec 27, 2025
    @LYRYRYlo 五大行除开核心业务和 CS 类系统,剩下 90%都是 tomcat
    midsolo
        42
    midsolo  
       Dec 27, 2025   ❤️ 3
    @jlkm2010 @xxxccc 一模一样的,只不过换了层皮。

    阿里的去 IOE 化,是去掉传统的产品模式,是一种新的 IT 技术架构和建设路线,适合高速发展的互联网产品。

    而国企的去 IOE 化是直接去掉 IOE 这几个厂商,就跟现在的信创一模一样,屁股决定脑袋,上面瞎指挥一刀切,下面欺上瞒下搞利益交换,天价采购单让人咂舌。

    还记得去 IOE 化时,造就的最著名的白手套 "浪潮集团" 吗?
    zerovoid
        43
    zerovoid  
       Dec 27, 2025
    国产化的方案肯定是对的,不然微软来个补丁,就把所有重要部门给瘫痪了,只是很多东西暂时没有替代方案,但是不施压,底下的人又怎么会去搞国产化的替代方案,过度阶段,大家都是睁一只眼闭一只眼,糊弄完事了。
    slation
        44
    slation  
       Dec 27, 2025
    都是生意,国产的狠多了,而且都是赚纳税人的钱,国产某头部数据库厂家,那个价格堪比 oracle ,而且各种限制,今年财报利润暴增,只能说赢的代价都是纳税人的钱
    FuryLeeU
        45
    FuryLeeU  
       Dec 27, 2025
    所谓的国产都是生意利益 我就不喜欢用国产的
    wheat0r
        46
    wheat0r  
       Dec 27, 2025
    都说不到点子上。
    国测规定品类的(中央处理器( CPU )、人工智能训练推理芯片、操作系统、数据库,以及激光或喷墨打印机搭载的主控芯片),必须是通过国测的才满足国产化要求。
    国测没规定,但以前的名录中有的品类,选名录里的产品。
    都没规定的,不知道怎么归类的,开源的还能用。
    yukn1995
        47
    yukn1995  
       Dec 27, 2025
    信创定规则的人,也不是完全不懂,只是研究没那么深。像表面大件的,比如硬件类,cpu 硬盘这种会直接写指定牌子,你自己可以选其中之一。像系统类,centos 之类的也被禁止,数据库类 mysql 之类的也禁止。真正往细划分,很多中间件或者冷门的组件,没强制要求,或者你用开源的自己改名,也能过审。

    有强制要求不让用 xx 的,一般都是国内有厂家做出来替代品,并通过信创研究部门测试。你自己可以任选一个搭配使用。比如麒麟加达梦组合。

    完全找不到国产替代的,会放松要求,比如 java 类,公司自己魔改也算符合信创要求
    yukn1995
        48
    yukn1995  
       Dec 27, 2025
    如果是指定 xxx+xxx+xxx 组合,里面可选的范围非常小,一般是招标的单位故意卡的。目前来说,信创项目大部分还是比较宽的,只要是信创目录就行,卡的过死一般是有人联合招标的做参数卡别人
    cnfczn
        49
    cnfczn  
       Dec 27, 2025 via Android
    最近也接触信创,找的华为云,说信创只包含 cpu 数据库 系统这三个。数据库 mysql pg 都有套壳国产替代价格 26000/年和 36000/年,系统一个 ubuntu 套壳一个 centos 套壳。 连接字符串仍然是 mysql jdbc ,所以没什么区别。当然了,国产化的东西,名字都变了,肯定看不出对标开源项目的名字。 不过华为云的 arm 架构有点恶心。
    shuiduoduo
        50
    shuiduoduo  
       Dec 27, 2025 via iPhone
    @spike0100 x86 arm 半导体都是国外的 这边建议闭关锁国 继续留辫子
    WhatTheBridgeSay
        51
    WhatTheBridgeSay  
       Dec 28, 2025   ❤️ 1
    > 是不是因为 Tomcat 有 TongWeb 这种国产替代。但是国内没人做 Netty 的替代。
    > 所以 Tomcat 才会上黑名单,但是 Netty 就活着。

    大概率是的,东方通这公司貌似非常强势,我之前有个项目,虽然直到最后也没用上 Tomcat ,但是仍然在立项之初就买了 5 份 TongWeb ,2 份 TongHttpServer 。
    信创这俩字给我的感觉就是演都不演,直接字符串查找替换完事,然后通过行政手段强制大家捏着鼻子用,好用的是真只披了个皮,调用、命令全都跟开源原版保持一致,难用的就是自己闭门造车整些私有花活还没文档,只能等着厂商支持
    haha1903
        52
    haha1903  
       Dec 28, 2025
    @gongym #9 做梦都没这么美好吧
    qviqvi
        53
    qviqvi  
       Dec 28, 2025
    可不可以只改 controller ,其他全保留阻塞
    fqy12300
        54
    fqy12300  
       Dec 28, 2025
    @seers 本来没有 bug 的,要是换了之后,一堆 bug 咋办。
    cabing
        55
    cabing  
       Dec 28, 2025
    因为有资本家的味道。比如英国确实从 2026 年 4 月 1 日起正式禁止活煮螃蟹了。。

    妥妥的,个中道道。。。你是不是要买设备,渔民是不是没法直接吃。。。
    temia
        56
    temia  
       Dec 28, 2025
    不能打 war 包,打成 jar 包不就行了
    kenvix
        57
    kenvix  
       Dec 28, 2025
    我的建议是自主研发一个 tomcat
    也就是拉下来自己编译一份,有兴趣可以 ide 改下包名
    brsyrockss
        58
    brsyrockss  
       Dec 29, 2025
    你 c v 一份 tomcat 的源码,说是你写得。纯国产,你看看他们咋说
    belite
        59
    belite  
       Dec 29, 2025   ❤️ 1
    在中国想不通的事情你就往两件事上想:做蛋糕和分蛋糕
    rickiey
        60
    rickiey  
       Dec 29, 2025
    自己 c v 一份 tomcat 的源码,改个名字,卖给公司,已经所有不能用 tomcat 的,又是一笔钱
    lfzyx
        61
    lfzyx  
       Dec 29, 2025
    因为 tomcat 名气比较大,领导都知道
    liuhuan475
        62
    liuhuan475  
       Dec 29, 2025
    为什么不用 undertow
    dog82
        63
    dog82  
       Dec 30, 2025
    现在没人单独用 tomcat 吧,都是 spring boot 集成的。
    我直接说没有用 tomcat ,反正他们也不看日志
    kylix
        64
    kylix  
       Dec 30, 2025
    undertow 也不能用吗?
    bbsingao
        65
    bbsingao  
       Dec 30, 2025 via Android
    快感谢国产化吧,要不然研发裁员更多。
    cvbnt
        66
    cvbnt  
       Dec 30, 2025
    1 、SpringBoot 默认是 Tomcat ,所以是替代目标,而且最好改造
    2 、信创针对 Tomcat 的改造有以下几家,东方通,宝兰德,都在名单之上
    3 、信创和技术是不是国产关系不大,本质上是政治任务,必须是用了名单上的企业的东西,就能符合规定,也就是说,哪怕这个名单上的企业,把 tomcat 纯换名换成 tomdog ,你用了也是符合规定的。
    4 、用了性能下降怎么办?可以拆分服务,外层可以是信创服务,内层调用原本的服务,应付检查,或者搞阴阳服务,应付检查时换成国产化的的服务,检查完再换回去。数据库的话大部分情况靠堆资源解决问题,服务器基本就是 ARM 架构,这个问题反而是最小的
    5 、如何最快速度改造?第一步按照他们提供的文档替换依赖,第二步能读授权文件,第三步成功启动基本就完了
    visper
        67
    visper  
       Dec 30, 2025
    小心 react. react 不是国产化,vue 是国产化...
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   768 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 158ms · UTC 22:03 · PVG 06:03 · LAX 15:03 · JFK 18:03
    ♥ Do have faith in what you're doing.