做工业网关以后,我对稳定这件事的理解变得悲观了一点,也务实了一点。

实验室里的开发环境很容易制造一种错觉:DNS 会工作,时钟大体一致,服务不会爆内存。到了现场,网线可能松动甚至被老鼠咬断,服务器时间还可能慢几分钟。

边缘计算的价值,不只是把一部分计算搬到现场。它更像一种架构态度:承认现实世界不会一直满足我们的前提。

因此,一个边缘服务至少要认真面对这些问题:

问题 不能只靠什么 更可靠的方向
上游暂时不可达 无限阻塞 本地缓冲、退避重试
进程意外退出 人工重启 守护、状态恢复
设备数据乱序 到达时间 设备时间与序列信息
配置错误 启动后再观察 启动前校验
磁盘逐渐写满 定期人工清理 配额、轮转、告警

这也是为什么边缘系统常常显得“啰嗦”:缓存、重试、幂等、补偿、心跳、健康检查,似乎都没有直接产生业务功能。

可业务功能并不只是“成功时上传一次”,而是“在不稳定的环境里,长期维持一个可以解释的结果”。