最近在给别人做一套车联网系统(其实就是利用GPS+视频+主动安全+一些其他辅助性设备对货物运输安全以及司机驾驶行为的监管)。由于客户的要求比较高,从框架设计—>功能模块定义—>UI界面设计—>系统实现,对整个系统都进行了较为合理的规划。

整个系统架构主要可以分为3大部分:

  1. 平台这块的话就没什么可说的了,WebApi+Vue.js
  2. 网关采用了Netty+MQ
  3. 在网关与平台交互的过程中加入了消费者与Redis

整个系统框架的数据流走向大致如下图所示(还有很多过程数据,这里就没有详细列出):

整个系统将划分的粒度相对比较细,也是考虑客户(做运营的)如果车辆后期增加的话,可以采用集群或者分布式的方式进行部署。数据库也采用了分布式的设计,应该可以承载几十万台终端的正常运营的。

网关这块测试比较多,我使用的是部标过检工具,购买了一台月的阿里云4核8G,5M带宽的ECS,利用部标过检工具,模拟了1.2万台808设备,网关的解析GPS数据,并发量在3000条/s左右,已经远远超过了交通部要求的2000条/s。这个时候用来测试的阿里云ECS的带宽占用率到达了80%(4M)以上,而且部署网关的ECS带宽使用已经临近瓶颈。感觉如果条件允许,单点至少可以支持2万台以上808的设备接入,然后再对网关做个集群,就完全不需要担心网关这块的处理能力了。

针对网关这块,我还有份详细的测试报告,下次放出来(在办公电脑上,疫情期间无法办公...)。

平台我选择的是获取redis里面的实时数据,统一用WebApi将定位数据传给前端。平台下发指令也是统一通过WebApi直接将指令数据存储到MQ的相对应的主题中。

其他报警,业务数据,消费者处理,然后存入数据库即可。

整个架构并不是多么牛X,但是实现起来是很快,而且后期维护,很容易让别人上手。稳定性的话,网关那块是经过一个月的压力测试的。

有喜欢物联网的朋友可以一起交流,一起学习,一起进步...

个人也会有一些项目,大家可以一起挣点零花钱...

可以用CSDN的私信功能私信我,或者QQ:571521973

Logo

开源、云原生的融合云平台

更多推荐