某IoT行业大流量上报系统架构

概述

何为数据上报?数据上报是指,智能设备通过网关和app、云平台进行成功配网后,就有了与云平台的通讯能力。那么,设备或定时、自身触发等,也可能是通过app下发消息,然后设备来执行数据上报等常见场景。zeus系统,作为云平台中重要角色之一,就是来负责数据上报处理的服务。

简介

zeus系统,作为流量入口系统,支撑着设备上报消息的解密、分发、存储,app下发消息的记录,设备dp的查询服务等。特点是对性能和稳定性很高,流量大。据,nsq统计欧美区qps约为10W+。目前,流量排序为美国>欧洲>中国>印度>美东>西欧。

原技术栈

java,Spring Framework,SpringBoot,dubbo,nsq,kafka,mysql,ignite。

zeus功能责任分布

  • 对设备上报数据的解密(网关层解密失败)
  • 协议号分发路由
  • 业务逻辑

  • 存储处理

zeus架构图

  • app或device会和levimq建立长连接。(连接后超过70s无数据发送会断连接)
  • 连接后,上报MQTT协议体数据。
  • levimq收到数据会发送给nsq(app下发的数据,levimq会发送给kafka)。
  • zeus会消费nsq(kafka)数据处理。
  • 最后,会发送消息到kafka供下游系统消费。
  • 协议4会,存储上报的数据到ignite、mysql中。