前言 在之前的文章中,我們提到車聯網 TSP 平臺擁有很多不同業務的主題,并介紹了如何根據不同業務場景進行主題設計。車輛會持續不斷產生海量的消息,每一條通過車聯網上報的數據都是非常珍貴的,其背后蘊藏著巨大的業務價值。因此我們構建的車輛 TSP 平臺也通常需要擁有千萬級主題和百萬級消息吞吐能力。車聯網場景消息吞吐設計的關聯因素 車在行駛過程中,GPS、車載傳感器等一直不停地在收集消息,為了收到實時的反饋信息,其上報接收的消息也是非常頻繁的。上報頻率一般在 100ms-30s 不等,所以當車輛數量達到百萬量級時,平臺就需要支持每秒百萬級的消息吞吐。 整個消息包大小一般在 500B 到幾十 KB 不等。當大量消息包同時上報時,需要車聯網平臺擁有更強的接收、發送大消息包的能力。 車輛在行駛過程中,消息數據只能通過無線網絡來進行傳輸。在大部分車聯網場景下,對車輛的時延要求是 ms 級別。平臺在滿足百萬級吞吐條件下,還需要保持低延時的消息傳輸。 在考慮百萬級消息吞吐場景時,還需要針對消息 Topic 數量和 Topic 樹層級進行規范設計。 當消息包比較大的時候,需要重點考慮消息體的封裝。單純的 JSON 封裝在消息解析時不夠高效,可以考慮采用 Avro、Protobuf 等編碼格式進行 Payload 格式化封裝。 EMQX Kafka 構建百萬級吞吐車聯網平臺 在這一方案架構中,EMQX 作為消息中間件具有如下優勢,可滿足該場景下的需求: EMQX InfluxDB 構建百萬級吞吐車聯網平臺 結語 通過本文,我們介紹了車聯網場景消息吞吐設計需要考慮的因素,同時提供了兩種較為主流的百萬級吞吐平臺架構設計方案。面對車聯網場景下日益增加的數據量,希望本文能夠為相關團隊和開發者在車聯網平臺設計與開發過程中提供參考。 |
|