1.负责设计并实现高并发工业设备数据采集层,构建从边缘层到应用层的实时数据管道。
2.系统需要支撑生产环境下7×24小时不间断采集,处理多源异构设备(PLC、智能磅秤、传感器阵列)的数据接入。
3. 峰值吞吐量达 10,000+ 消息/秒,端到端延迟控制在 50ms 以内。
一,边缘数据采集层
1.采用 Rust 语言重构原有 Python 采集服务,利用其零成本抽象和内存安全特性,将运行时内存占用降低 82%,CPU 使用率减少 65%,彻底消除 GC 停顿导致的采集延迟抖动。
2. 基于 tokio 运行时构建多线程异步架构,实现 10,000+ 并发连接的设备接入能力。采用 tokio::sync::mpsc 实现无锁队列,配合背压(Backpressure)机制防止内存溢出。
二,协议解析引擎
针对工业磅秤自定义串口协议(RS-485),实现状态机驱动的字节流解析器,处理粘包、半包、乱序等边界情况
三,消息总线与数据管道
1. 部署 EMQX 集群作为设备接入层,设计多级 Topic 命名空间,利用 MQTT 5.0 的 Shared Subscription 实现采集服务的负载均衡与故障转移。
2. 使用 Redis Stream 作为高吞吐消息队列(而非简单的 Pub/Sub),利用消费者组(Consumer Group)实现采集端的水平扩展与断点续传。
四,实时数据推送层(WebSocket + 协议优化)
基于 tokio-tungstenite 构建 WebSocket 网关,采用二进制协议(MessagePack)替代 JSON,减少 60% 传输体积。