定位器管理平台
该系统是为国外客户做的一个高并发、海量数据的车机定位器项目,分布式架构,并提供 app、web 进行监控管理,日活设备最高可达20w,在流量高峰期每小时数据生成可达上亿条。设备接入端采用 netty 开发 socket 大并发接入功能,维持长连接实现终端设备和服务器之间的数据交互,通过和 kafka、hbase、redis 等技术一起组成海量数据接入处理能力。
该系统使用了 springboot、ssm、netty、kafka、websocket、grpc、knife4j、线程池、proxysql、mybatis-plus 等技术。数据存储用到了 hbase、mysql、redis 。
项目职责:
1.通过 netty 开发设备接入网关,实现终端设备接入。
2.利用线程池处理设备上报的报文,根据包头类型进行不同的 handler 处理,提高设备网关的吞吐量。
3.利用分布式数据库 hbase 进行海量数据存储,后面考虑用时序数据库来代替。
4.通过 redis 缓存设备最后定位点信息,实现实时监控在线设备功能。
5.利用 websocket 技术,优化调用频繁的接口,降低服务器的访问压力。
6.配置 mysql 主从,通过 proxysql 实现读写分离,提高数据库的读写能力。
7.通过 redis+lua 脚本,实现了接口限流,保障接口调用的安全性。
8.通过 grpc 优化下发指令在流量高峰期 mq 消息堆积,结果反馈延迟问题。