做工业底层系统这么久,一直看不惯行业里的通病:一搞高并发就堆服务器、上云集群、砸钱买商业套件,动辄上亿投入,最后系统难用、安全没保障,工厂根本承接不住。
最近在对接玻璃厂的项目,初期规划10 家工厂试点,后续要扩到 2000 + 工厂,终端客户从千人级做到千万级,还要支撑 AI 大批量数据处理、跨厂工单拆分、实时进度回传,并发要求直逼民生级系统。
没照搬市面上任何集中式架构,自己从头设计了一套轻量分布式方案,目前已经用树莓派 + 小程序 / APP把全链路原型跑通,实测响应无感,后续上正式服务器完全没问题,这里把整套设计和实测细节分享出来。
一、项目背景与核心需求
先把真实需求说清楚:
- 工厂端:10 家玻璃厂筹备搭建,后期扩容 2000 + 工厂,每家工厂要独立跑 MES、本地 AI 生产调度,数据不能外泄;
- 客户端:客户用 APP / 小程序远程下单,订单要快速拆分到对应工厂,生产进度实时回传查看;
- AI 需求:集中训练玻璃行业生产模型,下发到工厂本地,实现自主排产、设备参数监控,单次要处理几十万条数据;
- 核心要求:高并发、防攻击、成本可控、能无限扩容,必须联网但绝不暴露公网 IP。
市面上的方案成本太高、架构太重,不适合实体工厂,所以自己做了这套极简架构。
二、整体架构设计(纯自研,无冗余)
整套架构核心就一个:中央服务器只做转发,工厂内网闭环,全程不暴露公网 IP。
1. 三层核心架构
(1)中央转发服务器
核心程序用C++ 编写,主打极致性能、低资源占用。只做三件事:接收客户端 HTTP 请求、解析工单拆分规则、做 MQTT 消息转发。所有订单、工单数据全放内存运行,不读写硬盘,没有 IO 瓶颈。试点配置:4 核 CPU+8G 内存,不用显卡,完全够支撑 10 家工厂的转发调度,后期扩容只需小幅升级,不用做集群。网络层面:服务器联网,但不对外公布公网 IP,从源头杜绝被扫描攻击。
(2)工厂本地双服务器(内网运行)
每家工厂部署两台服务器,物理分离,全程走内部局域网:
- 数据服务器:存本厂 MES、生产、工单数据,只对内提供服务;
- AI 推理服务器:AMD CPU+32G 内存 + RTX3060 显卡,整机成本控制在 1 万以内。单独做 AI 服务器的原因很简单:AI 一次性调取几十万条数据,直接查数据库肯定崩,本地推理彻底隔离压力。
AI 层面做分层:
- 中央 AI 主服务器:清洗玻璃厂设备、工艺数据,训练行业模型,试点用专业 A 卡,大规模上 AI 集群;
- 工厂本地:接收下发的模型,自己维护本地 AI、MES 对接,实现本地排产、设备监控。
(3)客户端
不用普通 H5 页面,做轻量化小程序 / APP,远程发起请求,目前已经用树莓派跑完测试,链路完全通。
2. 全链路通信流程
- 客户端发送 HTTP 请求到中央服务器;
- 中央内存解析数据,拆分工单(前期人工,后期 AI 自动就近分配);
- 中央作为 MQTT Broker,工厂主动联网订阅 MQTT 主题;
- 中央下发带唯一编号的 MQTT 消息到对应工厂;
- 工厂内网接收消息,从本地数据服务器取数处理;
- 处理结果通过 MQTT 回传中央,再返回客户端。
重点说明:工厂要联网才能完成 MQTT 订阅,但全程不暴露公网 IP,只主动出站订阅,无入站端口,外部根本摸不到内网,就算中央服务器出问题,也渗透不到工厂内网,勒索病毒几乎没机会。
三、原型实测(树莓派验证)
目前 10 家工厂还在筹备搭建阶段,没正式落地,先用最低配的树莓派做了全链路测试:
- 树莓派替代中央转发服务器,跑 C++ 转发程序 + MQTT 服务;
- 客户端远程下单,全流程链路通畅,响应速度无感;
- 内网数据调取、消息转发无延迟。
树莓派这种轻量化硬件都能跑稳,后续换成正式服务器,支撑高并发完全没压力。
四、这套方案的核心优势
- 高并发扛得住:中央只做转发,内存运行,C++ 底层支撑,工厂分布式部署,2000 家工厂扩容无压力;
- 安全性拉满:不暴露公网 IP,工厂内网闭环,无外网直接访问入口,防攻击、防勒索;
- 成本极低:2000 家工厂全部落地,总投入不超 2500 万,远低于大厂动辄几亿的方案;
- 扩容简单:新增工厂只需联网订阅 MQTT 主题,配置拆分规则,即接即用。
五、后续规划
接下来推进 10 家玻璃厂试点搭建,逐步落地工单拆分、本地 AI 推理,同步优化中央拆分算法、AI 模型训练,后续同步压测数据,这套架构完全能支撑 5000 家工厂、千万级用户的并发需求。
做工业系统,没必要一味堆技术、堆硬件,贴合工厂实际场景、稳定安全、低成本能落地,才是最实用的。
#工业软件 #高并发 #分布式架构 #工业 AI #MES 系统 #工厂数字化