MelodYi
V2EX  ›  程序员

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

By MelodYi at 2025 年 12 月 27 日 · 8427 次点击
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 日
无非就是利益,动了别人的蛋糕,任何事都是利益驱动一切
enzocc
   8
enzocc  
   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 是国产化...
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
© 2026 V2EX · 33ms · 3.9.8.5