外观
40 模块 × 部署单元矩阵
一张表看清:每个模块到底会拉起几个进程、哪些有独立 Dockerfile、哪些只是「有启动类但不部署」。
口径说明:「有 Dockerfile」= 可被
buildAll.sh(遍历find . -name build.sh)构建;「k8s 部署」= 出现在模块kubernetes.yml的 Deployment 列表中。两者可能不一致。
① 平台基础与计费
| 模块 | 有 Dockerfile 的部署单元 | k8s 实际部署 | 数据库 | 关键提示 |
|---|---|---|---|---|
antispam-business | facade/dubbo-provider、facade/http-api | 仅 facade/dubbo-provider | MySQL/TiDB antispam | 全平台配置源;console/scheduler/storage 有启动类但无 Dockerfile |
antispam-bill | facade/dubbo-provider | 仅 facade/dubbo-provider | MySQL/TiDB antispam | collect/scheduler/http-api/console 有完整启动类但无部署脚本 |
② 检测引擎层
| 模块 | 有 Dockerfile 的部署单元 | k8s 实际部署 | 数据库 | 关键提示 |
|---|---|---|---|---|
antispam-keyword | dubbo-provider、dubbo-check-provider、dubbo-cache-provider、http-api、scheduler | dubbo-provider / dubbo-check-provider / scheduler | TiDB antispam | dubbo-cache-provider/build.sh 与 dubbo-provider 同名冲突;多处 dubbo.protocol.register=false |
antispam-list | dubbo-provider、dubbo-admin-provider、http-api、scheduler | dubbo-provider / dubbo-admin-provider / scheduler | TiDB antispam | admin-provider 用 Redis Cluster,其余用 Sentinel |
antispam-rule | checker、dubbo-provider、dubbo-check-provider、http-api、datacenter/data-loader、scheduler | dubbo-provider / dubbo-check-provider / checker(replicas=4) / scheduler | TiDB antispam(check-provider 无 DB) | Sharding Provider/Customer 顺序敏感;data-loader 有 Dockerfile 但不在 k8s |
antispam-textclassify | dubbo-check-provider、dubbo-provider | 两者 | TiDB antispam | apollo.bootstrap.enabled=false(与其它模块相反);dubbo.protocal.register 拼写错误 |
antispam-image | dubbo-check-provider、dubbo-provider | 两者 | TiDB antispam | 启动期全量加载图片图库(@PostConstruct + @Scheduled 增量);依赖 netease-image HTTP |
antispam-llm | dubbo-check-provider、dubbo-provider、http-api、mq、scheduler、console/api | — | DDB(com.netease.lbd.LBDriver) | 两种 base image(jdk17 / 轻舟 yd-java-app:v3);mq Dubbo 端口固定 20880 |
③ 业务检测层(点播 / 直播)
| 模块 | 有 Dockerfile 的部署单元 | k8s 实际部署 | 数据库 | 关键提示 |
|---|---|---|---|---|
antispam-business-text | dubbo-provider、dubbo-check-provider、http-api、http-check-api、storage、scheduler、async-consume | 前 5 个 | TiDB antispam | scheduler 未部署;base image jdk17-kylin |
antispam-business-image | 同上 + high-consume | dubbo-provider、dubbo-check-provider、http-check-api、http-api、storage | TiDB antispam | high-consume/async-consume/scheduler 均未部署;storage main() 后置调 PreStartHandler.preStart() |
antispam-business-audio | dubbo-provider、dubbo-check-provider、http-api、http-check-api、storage、scheduler | 6 个全部署 | TiDB antispam | http-api/http-check 的 artifactId 无 -api 后缀 |
antispam-business-video | 同上 + async | 前 6 个(无 async) | PostgreSQL | 混用 jdk8/jdk17 镜像;port 8500/8510 |
antispam-business-liveaudio | dubbo-provider、dubbo-check-provider、http-api、http-check-api、storage、scheduler | 6 个全部署 | TiDB antispam | http-api 端口 18129、http-check 8702 |
antispam-business-livevideo | dubbo-provider、dubbo-check-provider、http-api、http-check-api、storage、scheduler | 6 个全部署 | TiDB antispam | livevideo-oss.properties 仓库内不存在(依赖 jar 内资源) |
④ 算法与核心平台
| 模块 | 有 Dockerfile 的部署单元 | k8s 实际部署 | 数据库 | 关键提示 |
|---|---|---|---|---|
netease-image | 80+ 子工程,约 40 个独立部署(image-service-yidun/modify、image-web、image-provider-* 40+、image-data-collector/sink、image-schedule、image-config、init-db) | 分散在各子工程 deployment*.yml 模板 | MySQL media_md5 等 | 非 Spring Boot(XML + Dubbo container);启动依赖 nagent/CMDB 认领;多数 Dockerfile 无 CMD,靠 k8s RUN_SERVER env |
netease-antispam | 14 个(async、censor、management、inner-api、platform-api、platform-proxy-api、dubbo-provider、ndc、rule-async、stats、preonline、privatization-proxy、privatization-client-scheduler、union-admin) | 无模块级 kubernetes.yml | TiDB antispam | Worker/Web 多为 Spring XML(ClassPathXmlApplicationContext)与 WAR;buildAll.sh 用 -Ponline |
⑤ 方案与接入层
| 模块 | 有 Dockerfile 的部署单元 | k8s 实际部署 | 数据库 | 关键提示 |
|---|---|---|---|---|
antispam-solution | http-check-api、http-api、dubbo-provider、storage、parser/file、scheduler | 无 kubernetes.yml | MySQL | Dockerfile COPY ./target/<finalName>.jar 与 pom finalName 不匹配风险 |
antispam-file | checker、dubbo-provider、http-api、storage(+ scheduler 有 Dockerfile 无 build.sh) | dubbo-provider / http-api / checker / storage | TiDB | storage/build.sh 的 MODEL_NAME=checker(复制粘贴遗留) |
antispam-media-solution | dubbo-provider、http-api、http-check-api、scheduler、storage | 无 kubernetes.yml | TiDB | dubbo group 为 /yidun/jiande-online/dubbo(与其它模块不同) |
antispam-video-solution | dubbo-provider、http-api、http-check-api、scheduler、storage | 4 个(无 scheduler) | TiDB | scheduler 的 elastic.job.zk.serverLists 误指向 Kafka 9092 端口 |
antispam-livevideo-solution | dubbo-provider、dubbo-check-provider、http-api、http-check-api、scheduler、storage、grpc-stream | 6 个(无 grpc-stream) | TiDB | dubbo-check-provider 扫描 com.netease.is.antispam.liveaudio 包 |
antispam-stream-solution | http-check-api、dubbo-provider、mq、scheduler、console/api | 无 kubernetes.yml | 未发现 | 缺 application-private.properties;Redis 用集群而非哨兵 |
antispam-crawler-solution | dubbo-provider、http-check-api、manager、scheduler、storage、worker | — | TiDB + DDB 混用 | 两套数据源体系;worker doOffline park 60s |
antispam-guardian | dubbo-check-provider、dubbo-provider、storage | — | MySQL yidun-online-bj | 无 application-private.properties 但 Dockerfile 强制 profile=private |
⑥ 审核运营层
| 模块 | 有 Dockerfile 的部署单元 | k8s 实际部署 | 数据库 | 关键提示 |
|---|---|---|---|---|
antispam-cms | console/api、dubbo-provider、dispatcher、cdc、scheduler | — | TiDB | console/api 是唯一 application-private.yml(其余用 properties);RedisDelayTask 是 ApplicationRunner |
antispam-cms-web | 1 个前端 nginx 站点 | — | 无 | base='/uepscrasweb/' 与后端反代前缀强绑定 |
yidun-supervision-cms | console/api、dubbo-provider、cdc、scheduler | — | MySQL yidun_supervision | Dockerfile 用 COPY lib/<jar>,与 mvn 产物脱钩;console/api 内置 Kafka 消费 + 定时任务 |
yidun-midend-dashboard | 21 个前端包(qiankun 主应用 packages/platform + 19 个微应用 + yidun-console + 共享库) | 无容器化 | 无 | 无 Dockerfile/nginx 配置;Node 18.16.0 + hosts 绑定必需 |
⑦ 门户 / 账号 / 中台
| 模块 | 有 Dockerfile 的部署单元 | k8s 实际部署 | 数据库 | 关键提示 |
|---|---|---|---|---|
yidun-website | yidun-website-upload | — | 无(exclude DataSource) | 根 pom 仅激活 common + upload,其余模块被注释;Kafka autoStartup online 未覆盖 |
yidun-account | facade/dubbo-provider | — | MySQL yd_platform | console/api(8918) 无 Dockerfile;private 指向 online-pre Dubbo group |
yidun-message | facade/http-api、consumer | — | 未发现 | dubbo-provider/scheduler 是空壳(无 Provider / 无任务) |
yidun-cms | facade/dubbo-provider | — | MySQL yd_platform | 无 application-private.properties 却强制 profile=private |
yidun-export | facade/http-api | — | TiDB | ElasticJob 内嵌在 http-api,scheduler 空壳;namespace 复用 online |
yidun-mplatform-event | facade/http-api、facade/dubbo-provider | — | MySQL/OceanBase | 唯一走 Apollo bootstrap 的门户模块;Dockerfile profile=private 无对应文件 |
yidun-model-evaluation | console/api、scheduler、support/database、facade/platform-api | Helm chart(file/charts/) | MySQL yidun_model_evaluation | private maven profile 未定义;dubbo-provider/http-api/mq 无 build.sh |
yidun-ai-agent | console/api、facade/http-api、scheduler(+ dubbo-provider 有 Dockerfile) | — | MySQL/GoldenDB | ai-dhs-worker 无 Dockerfile;worker @PostConstruct 强校验 SK/AK |
⑧ AI 数据与私有化
| 模块 | 有 Dockerfile 的部署单元 | k8s 实际部署 | 数据库 | 关键提示 |
|---|---|---|---|---|
AI-data | ai-data-admin(+ docs/database 初始化镜像) | — | MySQL ai_data | 遗留 Spring 4.3 + XML + Tomcat WAR;无 build.sh,buildAll.sh 只构建 admin |
antispam-private-cib | console/api、console/web、facade/dubbo-provider、facade/http-api、scheduler | — | MySQL(内网实例) | JDK8 专用镜像 jdk8-cib,jar 落 /cib/;http-api 用 -Ddubbo.enabled=false |
yidun-private-consume | storage | — | 无 | 无任何 MQ 依赖,EdaConsumer 消费链路未接线 |
yidun-private-custom | facade/http-api-pwd | — | 无(exclude DataSource) | 唯一零中间件依赖的服务,可离线起 |
汇总统计
- 模块总数:40
- 有独立
Dockerfile的部署单元:约 150+(含netease-image的 40 个算法 Provider) - 「有启动类但无部署脚本」的高频模块:
console/api(几乎全部模块)、antispam-business的 console/scheduler/storage、antispam-bill的 collect/scheduler/http-api、antispam-textclassify/antispam-image的 http-api/scheduler/console - 「有 Dockerfile 但不在 kubernetes.yml」:
antispam-business-textscheduler/async-consume、antispam-business-imagescheduler/async-consume/high-consume、antispam-business-videoasync、antispam-ruledata-loader/http-api、antispam-filescheduler、antispam-livevideo-solutiongrpc-stream
下一步:中间件与配置基线 →