物聯(lián)網(wǎng)-車聯(lián)網(wǎng)
mqtt協(xié)議 輕量級等等發(fā)布訂閱信息傳輸協(xié)議 在時間和空間上將消息發(fā)送者與接受者分離,可以在不可靠的網(wǎng)絡環(huán)境進行拓展 適用于設(shè)備硬件存儲空間有限或網(wǎng)絡帶寬有限的場景
EMQ X (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 平臺開發(fā)的開源物聯(lián)網(wǎng) MQTT 消息服務器。

傳統(tǒng)的消息中間件,例如消息隊列 RocketMQ、消息隊列 Kafka 等都是面向微服務大數(shù)據(jù)等領(lǐng)域,負責消息的存儲和轉(zhuǎn)發(fā),消息的生產(chǎn)者和消費者都是服務端應用。
這種設(shè)計很適合服務端技術(shù)棧固定、語言平臺固定的場景。而移動互聯(lián)網(wǎng)和 IoT 領(lǐng)域則有所不同,這類場景更側(cè)重于多語言多平臺的海量設(shè)備接入,消息的生產(chǎn)和消費過程的業(yè)務屬性很突出,傳統(tǒng)的消息中間件并不適合這些領(lǐng)域。
秉承單一職責的原則,微消息隊列 MQTT 在設(shè)計上是一個面向移動互聯(lián)網(wǎng)和 IoT 領(lǐng)域的無狀態(tài)網(wǎng)關(guān),只關(guān)心海量移動端設(shè)備的接入、管理和消息傳輸,消息數(shù)據(jù)的存儲則都會路由給后端存儲產(chǎn)品,例如傳統(tǒng)的消息中間件消息隊列 RocketMQ、消息隊列 Kafka 等產(chǎn)品。

在車聯(lián)網(wǎng)場景中,上百萬輛車需要上傳車輛信息數(shù)據(jù)到云端(服務端),云端同時也會下發(fā)指令到任意車輛或廣播到所有的車輛。車輛可以通過 MQTT SDK 連接到微消息隊列 MQTT 實現(xiàn)數(shù)據(jù)上報以及指令接收,監(jiān)管系統(tǒng)(數(shù)據(jù)分析系統(tǒng))可以通過消息隊列 RocketMQ 的 SDK 進行消息訂閱以及指令下發(fā)。如下圖所示:
