【MES学习笔记系列】04 - MES 技术架构设计
目标读者系统架构师、技术负责人、高级开发工程师阅读时间约 30 分钟前置知识微服务基本概念、Spring Boot 基础一、架构总览1.1 分层架构MES 系统采用典型的三层架构兼顾传统的水平分层和微服务时代垂直切割的灵活性1.2 关键设计原则原则说明高内聚低耦合每个微服务只负责一个业务领域DDD 限界上下文无状态设计应用服务无状态状态存于 Redis/数据库方便水平扩展异步解耦非实时业务通过消息队列异步处理独立部署每个微服务可独立构建、部署、扩缩容容错设计熔断Sentinel、降级、重试防止级联故障二、云原生与微服务架构2.1 微服务拆分策略基于 DDD领域驱动设计的限界上下文进行服务拆分微服务限界上下文核心聚合根数据存储mes-order工单管理WorkOrderMySQLmes-execution生产执行ProductionRecordMySQLmes-quality质量管理InspectionTaskMySQLmes-equipment设备管理Machine, MaintenanceMySQLmes-material物料管理MaterialLot, InventoryMySQLmes-schedule排程引擎SchedulePlanMySQLmes-collection数据采集DeviceDataPointInfluxDB/MySQLmes-report报表分析ReportTemplateMySQL 只读副本mes-system系统管理User, Role, PermissionMySQLmes-gatewayAPI 网关——2.2 服务通信通信方式适用场景技术选型同步 REST查询类、事务性操作Feign / OpenFeign异步消息事件通知、数据同步RocketMQ / RabbitMQgRPC高性能、流式调用Spring gRPC StarterWebSocket实时看板推送Spring WebSocket2.3 服务治理三、技术选型3.1 推荐技术栈主力方案Java层级技术版本选择理由后端框架Spring Boot3.x生态完善、国内 MES 主流微服务治理Spring Cloud Alibaba2023.xNacos 注册发现 配置、Sentinel 限流ORMMyBatis Plus3.5灵活 SQL、代码生成消息队列RocketMQ5.x延迟消息、事务消息、阿里系生态缓存Redis7.x高频数据缓存、分布式锁前端框架Vue 3 Element Plus3.4组件丰富、中文生态好关系数据库MySQL / PostgreSQL8.0 / 15主数据存储时序数据库InfluxDB / TimescaleDB2.x / 2.x设备采集的时序数据对象存储MinIO最新附件、eSOP 文件存储容器化Docker K8s24 / 1.28编排、弹性伸缩CI/CDGitLab CI / Jenkins最新自动化构建部署监控Prometheus Grafana最新指标采集与可视化日志ELK (Elasticsearch Logstash Kibana)8.x集中日志管理与检索3.2 备选方案对比组件方案 A推荐方案 B适用场景后端语言Java Spring Boot.NET Core / Python.NET 适合 Windows 生态工厂Python 适合轻量项目消息队列RocketMQRabbitMQ / KafkaRabbitMQ 适合中小规模Kafka 适合大数据量流处理前端Vue 3React Ant DesignReact 适合国际化团队数据库MySQLPostgreSQL需要 JSONB 高级特性选 PG服务治理Spring CloudIstio K8s多语言微服务网格3.3 Java vs .NET Core 对比维度Java / Spring Boot.NET Core微服务生态Spring Cloud 全家桶成熟Steeltoe OcelotOPC UA 库Eclipse MiloOPC UA .NET Standard部署环境Linux 为主Windows 兼容性更好国内招聘岗位多传统制造业 .NET 岗位多选型建议新项目首选与微软生态紧耦合的工厂四、系统集成方案4.1 集成全景图4.2 ERP 集成接口方向数据内容频率生产计划同步ERP → MES计划单号、产品、数量、交期日/即时报工回传MES → ERP良品数、不良品数、工时实时物料消耗回传MES → ERP原材料消耗数量、批次工单完工时入库通知MES → ERP成品完工入库信息实时基础数据同步ERP → MES物料主数据、BOM、客户信息日4.3 WMS 集成接口方向说明送料指令MES → WMS工单开工时生成送料单发料确认WMS → MESWMS 完成拣货发料后通知 MES完工入库MES → WMS成品完工请求入库库存查询MES → WMS实时获取物料可用量4.4 SCADA/PLC 集成协议适用场景MES 角色OPC UA主流设备、CNC 机床、PLC客户端订阅数据 调用方法Modbus TCP老旧设备、仪表客户端读保持寄存器MQTT边缘传感器、IoT 网关Broker接收数据MTConnectCNC 机床客户端接收标准化数据五、接口设计5.1 RESTful API 规范URL 设计GET /api/v1/work-orders # 工单列表 GET /api/v1/work-orders/{id} # 工单详情 POST /api/v1/work-orders # 创建工单 PUT /api/v1/work-orders/{id} # 更新工单 POST /api/v1/work-orders/{id}/start # 开工 POST /api/v1/work-orders/{id}/complete # 完工统一响应格式json{ code: 200, message: success, data: { orderId: WO-20260729-001, productName: 产品A, status: IN_PRODUCTION }, timestamp: 1753700000 }5.2 OPC UA 数据模型Root └── Objects └── Factory └── Line1 └── Machine-001 ├── Status (Variable: Running) ├── Temperature (Variable: 85.6) ├── Speed (Variable: 1200) ├── Alarm (Variable: false) └── Methods ├── Start() ├── Stop() └── SetSpeed(int rpm)5.3 MQTT Topic 设计Topic说明QoSmes/{factory}/{line}/device/status设备状态上报1mes/{factory}/{line}/device/data工艺参数上报1mes/{factory}/{line}/device/alarm设备报警2mes/{factory}/{line}/cmd/recipe配方下发指令2mes/{factory}/{line}/cmd/adjust参数调整指令2六、安全架构6.1 安全分层层面措施技术传输安全TLS 1.3 加密Nginx SSL 终结认证JWT OAuth 2.0Spring Security授权RBAC 角色权限 数据权限自研权限中间件审计操作日志全量记录AOP ELK数据安全敏感字段加密存储AES-256 / SM4API 安全请求签名 防重放时间戳 Nonce6.2 权限模型用户 (User) │ ├── 角色 (Role): 生产经理 / 操作员 / 质检员 / 设备工程师 │ │ │ └── 功能权限: 工单管理 / 质量检验 / 设备管理 ... │ └── 数据权限: 只能看到所属产线 / 车间的数据七、高可用与灾备设计能力方案应用高可用多副本 K8s 自动重启 HPA 自动扩缩数据库高可用MySQL 主从复制 读写分离消息队列高可用RocketMQ Dledger 主备缓存高可用Redis 哨兵 / Cluster异地灾备数据库异地同步、每日备份灰度发布K8s Ingress 按权重引流

相关新闻

Unity游戏马赛克消除终极指南:UniversalUnityDemosaics完全使用手册

Unity游戏马赛克消除终极指南:UniversalUnityDemosaics完全使用手册

Unity游戏马赛克消除终极指南:UniversalUnityDemosaics完全使用手册 【免费下载链接】UniversalUnityDemosaics A collection of universal demosaic BepInEx plugins for games made in Unity3D engine 项目地址: https://gitcode.com/gh_mirrors/un/UniversalUn…

2026/8/5 9:37:09 阅读更多 →
图标一致性崩塌危机,如何用Prompt Engineering+微调工作流重建品牌视觉资产库,7步落地手册

图标一致性崩塌危机,如何用Prompt Engineering+微调工作流重建品牌视觉资产库,7步落地手册

更多请点击: https://codechina.net 第一章:图标一致性崩塌的根源诊断与影响评估 图标一致性崩塌并非视觉层面的偶然失序,而是设计系统、开发流程与协作机制多重断裂的外在表征。当同一应用中出现 SVG 路径不统一、语义命名冲突、尺寸单位混…

2026/8/5 9:37:09 阅读更多 →
AI重塑网络安全攻防:从智能博弈到全域防御体系构建

AI重塑网络安全攻防:从智能博弈到全域防御体系构建

1. 从“猫鼠游戏”到“智能博弈”:AI如何重塑网络安全攻防格局最近几年,网络安全圈子里一个老生常谈的话题,正在被AI技术彻底改写。过去,我们总把攻防对抗比作一场“猫鼠游戏”——攻击者(猫)不断寻找新的漏…

2026/8/5 9:37:09 阅读更多 →

最新新闻

9个理由告诉你为什么这款免费商用字体值得拥有:Outfit几何字体深度解析

9个理由告诉你为什么这款免费商用字体值得拥有:Outfit几何字体深度解析

9个理由告诉你为什么这款免费商用字体值得拥有:Outfit几何字体深度解析 【免费下载链接】Outfit-Fonts The most on-brand typeface 项目地址: https://gitcode.com/gh_mirrors/ou/Outfit-Fonts 你是否正在寻找一款既专业又完全免费的商用字体?Ou…

2026/8/5 14:54:34 阅读更多 →
别再盲目扫了!这款开源神器afrog,让漏洞检测快准狠(附保姆级教程)

别再盲目扫了!这款开源神器afrog,让漏洞检测快准狠(附保姆级教程)

各位安全圈的兄弟们,还有那些在一线摸爬滚打的运维老铁们,大家好。今天咱们不聊那些虚头巴脑的大道理,直接来点干货。相信大家在日常工作中,都遇到过这种崩溃时刻:手里拿着个老旧的扫描器,跑个全量扫描要半天,出来的报告一堆误报,看得人眼瞎;或者为了测几个特定的组件…

2026/8/5 14:54:34 阅读更多 →
GTA5线上小助手:解锁洛圣都无限可能的开源工具箱

GTA5线上小助手:解锁洛圣都无限可能的开源工具箱

GTA5线上小助手:解锁洛圣都无限可能的开源工具箱 【免费下载链接】GTA5OnlineTools GTA5线上小助手 项目地址: https://gitcode.com/gh_mirrors/gt/GTA5OnlineTools 在《侠盗猎车手5》线上模式的浩瀚世界中,你是否曾感到束手束脚?面对…

2026/8/5 14:54:34 阅读更多 →
搞懂油气知识图谱:从数据清洗到深度学习模型落地的硬核干货

搞懂油气知识图谱:从数据清洗到深度学习模型落地的硬核干货

大家好,我是那个平时喜欢捣鼓数据、写代码,偶尔也帮师弟师妹们改改论文的老博主。今天咱们不聊那些虚头巴脑的理论,来聊点实实在在的硬核技术——基于深度学习的油气知识图谱平台搭建。说实话,最近好多做能源、地质或者计算机交叉学科的同学私信我,说现在的课题太难了。特…

2026/8/5 14:54:34 阅读更多 →
手把手教你用C#搞定西门子S7-1500 Modbus通讯,避坑指南来了

手把手教你用C#搞定西门子S7-1500 Modbus通讯,避坑指南来了

在工业自动化这个圈子里摸爬滚打久了,大家都会发现,上位机软件跟PLC之间的“沟通”才是整个系统的灵魂。以前大家习惯用S7协议直接连西门子,虽然快,但一旦涉及跨品牌或者老旧设备,Modbus TCP就成了那个“万金油”式的解决方案。特别是现在西门子S7-1500系列这么普及,很多…

2026/8/5 14:54:34 阅读更多 →
iOS游戏修改新纪元:H5GG如何让内存编辑变得像浏览器操作一样简单

iOS游戏修改新纪元:H5GG如何让内存编辑变得像浏览器操作一样简单

iOS游戏修改新纪元:H5GG如何让内存编辑变得像浏览器操作一样简单 【免费下载链接】H5GG an iOS Mod Engine with JavaScript APIs & Html5 UI 项目地址: https://gitcode.com/gh_mirrors/h5/H5GG 你是否曾想过,如果修改iOS游戏的内存数据能像…

2026/8/5 14:53:34 阅读更多 →

日新闻

Java缓存框架:JetCache

Java缓存框架:JetCache

TOC 一、简介 JetCache 是一个 Java 缓存抽象框架,为不同的缓存解决方案提供了统一的使用方式。 它提供的注解比 Spring Cache 更加强大。 JetCache 的注解支持原生 TTL、两级缓存以及在分布式环境中的自动刷新功能,同时你也可以通过代码直接操作 Cach…

2026/8/5 0:00:43 阅读更多 →
AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

需求:通孔焊盘 十字花;过孔 Via 实心直连;贴片焊盘按需设置 AD 测试版本AD24 很多工程师踩坑:全部统一十字,导致接地过孔阻抗高、大电流发热! 一、快捷键打开规则 PCB 界面按下:D R 展开…

2026/8/5 0:00:43 阅读更多 →
AI素描转换技术深度拆解(2024最新论文+工业级落地代码):从Stable Diffusion ControlNet到LoRA微调全链路解析

AI素描转换技术深度拆解(2024最新论文+工业级落地代码):从Stable Diffusion ControlNet到LoRA微调全链路解析

更多请点击: https://kaifayun.com 第一章:AI生成素描效果 AI生成素描效果是计算机视觉与风格迁移技术融合的典型应用,其核心在于将彩色照片或RGB图像转换为具有手绘质感、明暗对比强烈、边缘清晰的单色素描图像。该过程通常依赖于深度学习模…

2026/8/5 0:00:43 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/4 13:24:41 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/5 13:13:56 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/5 10:20:36 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/4 13:38:24 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/4 11:09:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/4 13:38:40 阅读更多 →