千萬級車輛MQTT消息平台架構設計

2022.05.18

千萬級車輛MQTT消息平台架構設計


在本專題系列文章中,我們將根據 EMQ 在車聯網領域的實踐經驗,從協議選擇等理論知識到實際操作,與大家分享如何打造可靠、高效、滿足行業場景需求的車輛比如平台架構設計。互聯網平台。


前言
隨著整個汽車出行領域新四化(電動化、智能化、網聯化、共享化)的推進,各汽車廠商正在逐步構建以智能駕駛、智能網聯為核心的車聯網體系。新一代車聯網系統對底層消息採集、傳輸和處理的平台架構提出了更高的要求。

在本系列上一篇《車聯網場景下的MQTT協議》中,我們已經提到,MQTT協議是目前最適合構建車聯網場景下數據平台的通信協議。基於此,本文將繼續探討車聯網場景下MQTT消息的採集與傳輸,以及如何搭建千萬規模的車聯網MQTT消息平台,以為從事車聯網業務的企業用戶提供平台架構設計參考。

車聯網基礎:消息採集與傳輸
車聯網傳輸協議演進
眾所周知,車聯網(V2X)是指車與雲、車與網、車與車、車與路、車與人、車與傳感器設備等交互,實現通信車輛和公共網絡之間。動態移動通信系統是為滿足與車輛相關的每一個環節的效率、安全和管理要素而建立的異構通信網絡。其中運行的通信協議已經成為車聯網系統建設的關鍵和核心。

在車聯網發展過程中,主要有兩種主流的通信技術,對車聯網的整體發展起到了推動作用:
DSRC(DeDICated Short Range Communication):由ASTM於1992年針對ETC的業務場景開發。經過多年的改進和迭代,演變為IEEE(802.1X)車聯網通信技術標準。長期以來,DSRC技術一直是國際汽車主流生產和消費市場使用的主流車聯網通信協議。
** C-V2X(Cellular Vehicle to Everything,蜂窩車聯網通信):** C-V2X依托現有的蜂窩基站,除了支持PC5直接通信,RSU與車輛可通過4/5G信道(使用Uu接口)連接V2X平台,實現車路協同通信。與DSRC相比,C-V2X在技術上更勝一籌,增強了通信的安全性和保密性,支持高網絡容量,可以支持高帶寬和大數據量的需求。
DSRC與C-V2X技術競爭激烈,均有望成為主流車聯網通信標準。目前我國擁有最完善的5G通信網絡基礎設施,因此更傾向於採用C-V2X(LTE-V,5G-V2X)通信技術。用於自動駕駛的下一代汽車網絡架構。
車聯網消息平台建設的意義
在車聯網建設高速發展的今天,所有主機廠已經形成共識:車聯網建設的目的不是為了聯網而聯網,也不是為了車載娛樂而聯網,聯網是為了數據。有了車聯網,就有了數據。有數據,輔以完整的數據治理和應用系統,一切可用。

而該業務的目標數據不僅限於車端的相關數據。在V2X框架中,需要解決車與車(V2V)、車與路(V2R)、車與網(V2I)、車與雲(V2C)、車與人(V2H)等互聯互通。道路、雲、網絡和人的綜合數據收集和分析。基於5G的C-V2X協議和通信方式為整個系統的建設提供了基礎能力保障。

從傳統的OTA應用到智能座艙、高精度地圖適配、厘米級定位、車與移動端遠程連接、移動端消息採集、車路雲圖、車路等諸多新型智能應用場景協同等諸多新的智能應用場景,車聯網業務對於消息平台非常重要。對數據處理系統的需求從原來的車雲擴展到人-車-路-網-雲的整體架構建設,對整個消息平台的建設提出了更高的要求。
如何構建一個海量連接、高並發吞吐量、低延遲的消息通信和傳輸系統架構,保證整個系統的泛在、便捷、高可用、可靠、安全和高並發,已成為建設的關鍵。新一代自動駕駛和車路協同場景的車聯網系統。

千萬級車聯網消息平台架構設計
接下來,我們將以 EMQ 的車聯網消息平台及數據處理整體解決方案為例,介紹如何構建千萬級車聯網消息平台。
業務挑戰
(1) 車輛、路試單元和手機系統的安全訪問

車端需要覆蓋車機數據上報、POI分發、文件推送、配置分發、推送消息、運營關懷等新的車聯網服務。生成的海量消息主題需要更加安全穩定的訪問和傳輸,才能實現消息的訂閱和發布。路端需要實現路邊RSU的安全接入、消息的採集和傳輸、地圖數據的傳輸。

(2) 大並發消息傳遞的實時性和可靠性

高精地圖、厘米級定位、車路協同等應用場景都需要解決海量車路圖消息毫秒級低時延、高可靠的傳輸能力保障。消息處理平台需要高性能、低延遲和高可靠性。支持千萬級連接和百萬級並發業務場景的能力。

(3) 豐富的應用場景集成

在以自動駕駛為核心的車聯網系統中,需要藉助消息平台,連接基於人、路、圖、雲的各種應用。通過消息平台將車端數據與高精度地圖、厘米級定位、車路協同、手機連接等應用場景打通,通過消息平台保障應用的消費供給,提供高性能,低延遲和高可靠性。數據架構。
(4) 海量數據存儲、處理和分發

人、車、路、雲、圖、網等海量物聯網數據採集後,需要對這些大規模實時數據流的訪問、存儲、處理、分發進行全生命週期管理提供應用程序。數據庫支持動態和持續的數據流,支持應用深度利用車聯網數據服務消費者,做出業務決策。

整體解決方案
在解決方案中,我們主要使用 EMQ 的雲原生分佈式物聯網接入平台——EMQX,實現車聯網系統中車端、人、路端的數據連接、移動和處理。 EMQX 集成的分佈式 MQTT 消息服務和強大的物聯網規則引擎可以為高可靠、高性能的物聯網實時數據移動、處理和集成提供基礎能力基礎,幫助企業快速構建關鍵業務物聯網平台和應用。

(1) 車端消息處理

EMQX 使用 MQTT 協議訪問車聯網系統。車載終端通過負載均衡接入 EMQX 分佈式集群。 EMQX 的橫向擴展能力可以實現千萬級車連接和百萬級並發響應的數據通信能力。通過規則引擎,實現海量消息橋接消息隊列、持久化存儲、離線消息存儲等一站式能力。可以實現,同時提供豐富的API原子能力北向集成。
在安全方面,EMQX 不僅支持 TLS/DTLS 或國密 GMSSL 安全協議,保證系統的可靠性和穩定性;還提供心跳監測、遺囑消息、QoS等級等多重保障機制,通過離線消息存儲實現複雜網絡環境下的實時、安全可靠的車機消息通信。
(2) 人和路邊的消息處理

EMQX 為人和路端提供移動 APP、RSU 等終端的消息採集處理平台。基於5G網絡切片能力,通過個人終端和路邊單元就近接入,實現超低時延的交通信息服務。通過MQTT等協議,將人力終端和路邊設施感知的路況信息推送到雲控平台,雲控平台集成V2X算法,實現道路協同感知、安全提醒、遠程等智能交通場景協同控制。

安全方面,支持國際標準TLS/DTLS加密或國家加密算法GMSSL加密,通過擴展PKI/CA證書認證體系,保障人車路信息系統協同的安全通信。
千萬條消息訪問框架模型
針對新一代車聯網場景,千萬級連接、百萬級並發的EMQ整體消息接入和數據處理平台參考架構如下:
業務場景:車聯網系統中的車輛、手機APP、路邊RSU等設備通過MQTT連接,實現千萬終端並發接入。
** 系統架構: ** 終端設備通過MQTT、HTTP等協議接入,通過負載均衡組件接入分佈式消息平台EMQ X。通過分佈式多集群部署,滿足千萬級並發連接的需求,根據百萬級消息的吞吐能力,將規則引擎接入Kafka集群,實現數據轉發。車聯網服務平台、高精地圖服務、V2X雲控服務、定位服務等與車聯網相關的應用,可以通過訂閱Kafka數據直接消費。同時,EMQ 提供 REST、MQTT 和 MQ 消息隊列三種南向接口服務。車輛控制(遠程控制)消息的雙向通信。
通過上述參考框架,EMQ 可以通過 EMQX 雲原生分佈式物聯網接入平台,實現車聯網場景下千萬級連接、百萬級並發吞吐量的業務需求。
千萬條消息接入測試
測試環境和目的
某車企計劃在車聯網場景下基於測試環境驗證EMQX集群的以下能力,並為後續業務增長準備相應的技術架構和能力支撐:

可支持1000萬並發連接,支持每秒10萬到15萬條QoS 0消息,負載100字節,通過規則引擎橋接到Kafka;
1000萬並發連接訂閱和消費OTA廣播主題;
300萬用戶同時連接不會造成集群雪崩,測試連接所需時間。
另外,在完成以上所有測試後,繼續探索當前1000萬並發配置下可以支持的消息發送和橋接轉發到Kafka的最高吞吐量(根據EMQX集群資源使用情況增加客戶端消息發送頻率) ),並經過測試,可在 1000 萬個連接下以 2 的 QoS 和 50 毫秒的平均響應時間滿足最高消息吞吐量。

考試準備
客戶端通過 TLS 加密連接到負載均衡 ELB,然後 TLS 在 HAProxy 處終止客戶端,最後通過 TCP 連接到 EMQX 集群。通過在 HAProxy 上終止 TLS,可以提高 EMQX 集群的支持能力。在這種部署模式下,EMQX 的處理能力與客戶端通過 MQTT TCP 直連完全一樣。另一方面,與 MQTT TCP 連接相比,客戶端需要通過 TLS 連接消耗更多的資源。本次測試規模上千萬,所需測試機台數量多。為了減少所需的測試資源,不影響 EMQX 集群的測試目標,本次測試將直接使用 TCP 連接。
概括
如上結果所示,在目前的部署架構下,可以滿足車企1000萬並發+20萬橋接Kafka消息、消息廣播、300萬瞬時並發的驗證需求。在探索性測試中,在 1000 萬連接下測試了 120 萬條消息(QoS 0,payload 1kB)的最大 TPS。測試持續了10個小時。 EMQX 集群穩定,CPU 空閒低至 20%,內存使用穩定。

由上可以看出,EMQX在支持車聯網場景千萬級連接方面表現突出,架構穩定可靠。
壓力測試工具的介紹和使用
由於需要測試機器數量多,管理複雜,本次測試使用XMeter性能測試平台和EMQ測試軟件商業版的JMeter-MQTT插件進行。

XMeter 是基於開源測試工具 JMeter 的擴展性能測試平台。針對物聯網接入規模大、彈性擴展需求、接入協議多、場景混合等特點,XMeter對JMeter進行改造,支持大規模、高並發的性能測試,如實現千萬級MQTT並發連接和消息吞吐量測試。除了測試MQTT協議外,還可以支持HTTP/HTTPS等主流應用的測試。
JMeter-MQTT插件是XMeter實現的開源MQTT性能測試插件,已經在多個項目中使用,是目前JMeter社區最流行的MQTT插件。
寫在最後
通過本文,我們介紹了基於雲原生分佈式物聯網接入平台EMQX的千萬級車聯網MQTT消息傳遞平台的架構設計,並驗證了該架構在數十萬級環境下的性能表現。數百萬並發連接場景。系統消息數據平台的構建提供了可能的設計參考。

作為全球領先的物聯網數據基礎設施軟件提供商,EMQ 致力於打造高性能、低延遲、高可用、高可靠的產品,為用戶提供消息採集、移動、處理、分析的整體解決方案。下一代車聯網系統解決方案為整車廠商、T1供應商、後市場服務商、出行服務公司、政府管理機構的自動駕駛和智能網聯汽車業務提供基礎設施服務保障,實現人的智能連接、 車輛、 道路和雲。