项目名称:物联网平台
涉及技术:spring、springmvc、springboot 、redis、kafka、dubbo、mysql、mybatis、netty、zk、mongodb、mqtt、jt808
项目描述:整个平台包括多个子项目:设备通信网关、后台数据采集、后台数据分发、设备管理平台(后台)、C端用户APP,功能设计如下
项目设计:
1、设备通信网关负责识别设备信息并建立长连接通信,该模块是基于netty开发的分布式集群应用,实现设备连接、连接负载均衡、设备重连、mqtt/ 808/905等协议解析、心跳检测等功能
2、后台数据采集是基于kafka、disruptor开发的分布式应用,消费kafka中的设备数据,沉淀到MySQL、mongodb等数据库;实现了设备实时轨迹计算、设备事件推送等功能
3、后台数据分发是负责设备数据推送、基于netty、protobuf开发的分布式应用,分别实现客户端基础Jar包、推送服务端、连接负载均衡、重连、心跳、商户数据分类推送等功能
4、设备管理平台是基于spring、dubbo实现分布式后台服务,该平台按业务模块划分分别实现各自的微服务,主要是包括面向B端的业务服务模块:用户信息管理、系统权限管理、单点登录、运维监控、设备订单、远程控制等
5、APP主要负责给C端用户提供设备下单、远程监控、车辆/设备信息查询等服务
6、整个项目整体上基于spring、dubbo、nginx等对B端或C端用户提供WEB服务,基于netty、kafka等提供设备连接与数据采集功能,基于mongodb、mysql等提供数据沉淀功能,其中又利用redis提供分布式缓存优化,sharding-jdbc提供分库分表优化,elk提供日志整合等
责任描述:
1.设备通信网关的开发与维护,参与整体架构设计与代码重构,使网关可兼容不同设备的通信协议,集群具备横向扩展能力
2.主导数据分发功能开发与维护,包括架构设计、代码编写、压测、部署
3.数据采集的开发与维护,优化冗余内部缓存设计以及复杂的线程模型,降低单个应用所需内存,提高代码可读性;修改kafka分区消费为组消费,使集群具备扩展性
4.负责分库分表设计与开发,优化因大数据导致mysql出现的IO性能瓶颈
5.负责其他C端或B端应用业务服务开发