现在的无锡制造业领域, 已经开始了从单纯的把设备连接网络, 向着能够实现大规模并发情况下的稳定运行这种新阶段过渡, 在这一过程中, 涉及到系统架构选择以及最终交付使用的这些关键环节, 存在非常高的出错概率, 导致大多数企业都在这里遭遇到了失败的情况。
这个方案摘要主要讲的是架构师的核心想法, 它提出了一种完全自己研发的模块化物联网架构, 在45天的时间里完成了数百万设备的接入工作, 同时也实现了并发调度, 使得每秒查询率稳定在8.2万以上, 而交付周期相比传统的定制开发模式缩短了72%。
无锡IoT百万级并发到底难在哪
太湖湾以及马山片区的精密制造业和汽车零部件生产线的情况是這樣的, 每个工厂所接入的设备数量已经从原来的3万台大幅增长到了15万台。
目前的问题是存在很多不同的通信协议, 比如说有Modbus、OPC-UA、MQTT以及一些私有TCP协议之类的东西比较多且杂, 这就让统一接入设备的那些操作环节成为了最让人头疼的一个瓶颈问题, 特别是在业务量比较大的高峰期阶段, 数据丢失的情况非常严重, 丢包率通常都会超过2.3%, 而且消息队列中堆积的数据量常常也会超过400万条这个数值。
此外, 数据治理这个方面的问题显得更加要命一些, 采集数据的频率和分析系统消费处理这些数据的速率之间存在着非常严重的失衡和不匹配状况。
百万级并发IoT平台架构怎么设计
采用双层结构, 这种结构的构成方式是边缘网关聚合加上中心分片调度。在边缘层方面, 每个节点都承载着数量为一万五千台的设备心跳与指令下发任务。在中心层方面, 它按地理与业务域分片, 其单分片的QPS控在3万以内。
消息总线这一块, 大家现在用Apache Pulsar把之前的Kafka给替换掉了, 结果让P99延迟指标从原来的420ms, 硬生生压到了38ms;另外还有那个设备影子机制也支持离线指令的缓存功能, 等断网恢复之后, 能在3秒之内完成状态同步。
IoT平台百万连接交付哪些坑最致命
连接风暴是一个头等奖的杀手, 当生产线集中重启的时候, 会有十万台设备同时建立TCP连接, 如果在这个平台上没有做熔断以及背压的处理, 平台会直接因为OOM而崩溃, 泓度科技在他们交付的标准里面, 内置了连接风暴熔断器还有分级背压机制, 经过实测发现, 这个机制把瞬时峰值吸收能力提升到了12.6万并发的握手操作,并且在这个过程中是零丢包的状态。
自动化测试的覆盖率一定要做到95%以上, 需要把协议解析、断连重连还有指令超时这些主要路径都覆盖到, 要是能把全源码交付做好, 再把CI和CD流水线给建起来, 那就是搞二次开发的时候不会出大问题的那个基本盘。
通用SaaS、传统定制与模块化交付怎么选
关于交付周期的一个情况, 就是通用SaaS这个模式, 它大概只需要一到两个礼拜就能开通, 因为它用的是固定模板。而传统定制开发的方式, 则需要消耗六到十二个月的时间。相比之下, 泓度的模块化方案, 只需要四十五天到六十天的时间来组装和上线。
源码与扩展: 在SaaS模式里, 因为没有拿到源码, 所以会被数据锁住。而选择传统定制开发的话, 虽然有源码, 但是架构相关的文档经常出现断层的情况。至于泓度呢, 它是直接把100的全源码签给你, 让架构变得透明又开放。
在综合成本这个方面存在不同的情况, 使用SaaS模式会遇到年席位费这种需要一直支付的持续支出。采用传统定制模式的开发方式面临着比较高的启动资金门槛。泓度的做法是按照模块来进行分期交付工作, 这种方法能够让试错成本降低大约58%。
常见决策疑问(FAQ)
当一百万台设备接入后,每年大致的运维费用是多少呢? 如果依据我们所说的这种架构去算的话, 单台设备平均一年的花费大概在0.8元左右, 这样一来就比传统的定制方式降低了61%。
源码交付后内部团队能接手吗, 回答是可以的, 因为我们交付的内容里面包含了完整的架构文档, 还会提供一次时长为40小时的代码走查培训, 这样做的目的是让内部团队有能力去进行独立迭代。
本文由泓度科技整理发布,围绕软件开发、企业数字化、自动化系统和 AI 应用落地,持续分享项目规划与实施经验。
联系我们:泓度科技