EMQ X 在上汽大众新一代车联网平台中的应用
本文作者:田桢,上汽大众移动互联业务架构与应用开发部资深架构师。
车联网是通过「云管端」技术建立车与车、车与人、车与路之间的连接,实现车载信息服务、车辆控制自动化和智能交通。通过车联网平台与 T-Box 以及车机系统的数据交互也是目前车联网智能交互的主要形式之一。大众集团很早就开始重视车机系统,2013 年问世的第一代 MIB,在联网方面第一代 MIB 初步展露出车联网的雏形。从第一代到第三代,MIB 快速迭代,达到了当时的领先水平。 但智能车机真正不同于传统车机的关键点是可拓展性,可以连接云端、通过下载 APP 无限延展功能是智能车机最本质的特征,也是车机发展的大势所趋。为了顺应时代大势, 上汽大众年于 2020 年推出了全新的智能车联系统,配合全新的MOS车机系统,首先搭载在最新款帕萨特车型上,这也是大众品牌近两年少有的专注于车联网领域的探索。
从 2018 年上汽大众在设计研发新一代车联网系统时,SC 部门考虑到新型车联网大并发、低时延、高吞吐的场景需求,参考了国内外主流新型车联网系统架构,采用了基于 MQTT 协议建设新一代车联网平台。新的车联网平台需要有能力支撑上汽大众未来几年的车联网发展,这就需要平台中的 MQTT 消息中间件 具备支撑从百万到千万级别的车联网车机连接和数据传递的能力, 业务覆盖车机数据上报、POI 下发、推送文件、下发配置、推送消息、运营关怀等车联网业务的支持。
在构建新平台对 MQTT 消息中间件选型过程中,SC 部门主要考虑了以下一些功能和性能上的要求:
功能方面
需要完整支持 MQTT v3.1.1 协议,并且可在后期支持完整 MQTT v5.0 协议。针对上汽大众在车联网应用中的场景,还需要支持以下功能:
- 支持车机上报数据可在平台端持久化,保证数据不丢失;
- 在 POI 下发场景中,支持在平台端获知车机端是否收到消息的反馈信息;平台端提供 POI 下发数据缓存,并可设置 POI 的缓存时间,保证在车机离线时下发消息不丢失,上线后消息自动下发;
- 支持平台向车机进行文件推送,配置推送,支持广播式的推送。
- 安全上支持设备通过证书进行安全认证,设备连接支持 TLS1.2;对于非法连接平台的客户端可以做到客户端认证控制,平台端也可以通过 API 来关闭非法连接。
性能方面
需要具备以下能力:
- 具备支持分布式架构和水平扩展能力,支持集群部署;集群具备高可用能力,支持节点的自动发现、自动集群、脑裂自动愈合、自动删除宕机节点能力;
- 性能指标上:在 16 核、32G 内存的 Linux 操作系统上,单节点连接数不低于 50 万;单个集群总连接数不低于 1000 万;
- 考虑到实际场景中每辆车会有1个到多个平台唯一的 topic,需要可支持千万级 topic;
部署方面
需要提供在上汽大众私有云环境中部署的能力,并支持 docker 容器部署,方便后续与整体系统的微服务节点统一部署运维。
运维方面
需要提供全方位的监控系统,并支持监控数据的导出与集成。监控指标需要包括集群整体的业务指标监控,包含连接数,消息数,topic 数,消息吞吐量等;节点系统监控信息包括节点的 CPU,内存,网络,磁盘 I/O,虚拟机内部指标等;
考虑到以上需求,经过长达一年多的大量不同产品的对比分析和功能性能测试,上汽大众选择了 EMQ X Enterprise 作为新一代车联网接入平台的物联网 MQTT 消息中间件。
上汽大众车联网接入平台架构图
EMQ X 作为知名开源 MQTT 消息中间件项目,为 T-box 和移动设备提供了百万级到千万级的安全稳定接入能力以及低时延的数据处理能力。基于 EMQ X Enterprise 的车联网接入层方案提供了包括数据持久化、南向消息缓存、安全连接与安全认证等功能,满足了上汽大众在新一代车联网建设的需求。
上汽大众车联网接入平台运维监控仪表盘
今年,上汽大众新一代车联网平台上线,更多新车型陆续接入,平台车辆接入总量现已达数十万,并仍在不断增长,而平台始终保持着稳定的运行状态。至此,上汽大众新型车联网以及新车机系统在接入层的业务需求已经借助 EMQ X 基本得到了满足。在此基础上,上汽大众也在积极调研基于新版本 EMQ X 中提供的内置规则引擎与编解码能力,考虑将更多业务规则过滤与分发实现在消息中间件层,为上层应用的开发提供更加便捷的数据接口。
在未来,上汽大众新一代车联网平台将不断接入品牌旗下其他汽油车以及新能源车等更多不同新车型,为上汽大众客户提供更加智能便利的人车交互体验,打造新一代人车社交平台。
版权声明: 本文为 EMQ 原创,转载请注明出处。
本文地址:https://blog.csdn.net/emqx_broker/article/details/108574370