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

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

  •  
  •   MelodYi · 2025 年 12 月 27 日 · 7823 次点击
  •   查看本主题需要登录
    RT. 都是海外的开源软件,licence 也都是一样的。

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

    是不是因为 Tomcat 有 TongWeb 这种国产替代。但是国内没人做 Netty 的替代。
    所以 Tomcat 才会上黑名单,但是 Netty 就活着。
    第 1 条附言  ·  2025 年 12 月 29 日

    补充下背景:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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