消息隊列(MQ)重磅推出MQTT移動物聯套件----通用場景、車聯網、順序消息(新)等典型場景解讀及性能分析報告
消息隊列(MQ)可應用在多個領域,包括異步通信解耦、企業解決方案、金融支付、電信、電子商務、快遞物流、廣告營銷、社交、即時通信、移動應用、手遊、視頻、物聯網、車聯網等。近期,消息隊列(MQ)推出順序消息消息、MQTT移動物聯套件、Kafka企業級消息服務。下述內容將解析消息隊列(MQ)順序消息、車聯網、Kafka企業級消息服務的應用場景。
1. 消息隊列通用場景
一對多、多對多異步解耦
基於發布訂閱模型,分布式應用異步解耦,可以增加應用的水平擴展性,增加前端應用快速客戶反應能力。
削峰場景
大促等流量洪流突然來襲時,MQ可以緩衝突發流量,避免整個係統崩潰。
日誌監控
做為重要日誌的監控通信管道,將應用日誌監控對係統性能影響降到最低。
2. MQTT移動物聯套件
消息隊列(MQ)提供 MQ-MQTT 移動物聯套件,連接端(如移動設備、智能家電、汽車、機器人等)和雲,實現雙向通信,可支撐億級設備連接與百萬消息並發;
一般來說車聯網係統是一個端到雲的多層體係,其數據流主要分為2類:
- 數據上行采集:安裝在車輛等執行部件上的傳感器采集狀態數據後,定期上傳到服務端進行分析和應用。其特點是,車輛和傳感器種類眾多,基數大,移動數據網絡大多走4G,不如固定網絡穩定。
- 指令下行推送:遠程服務端根據設定,下行推送控製指令數據,控製指定的客戶端進行某些行為。
為什麼選擇消息隊列 MQTT 移動物聯套件
- 接入簡單:提供了標準的 MQTT 物聯網協議,支持多語言跨平台,接入更簡單。
- 多協議支持:支持自定義協議,包括車聯網領域眾多終端協議,例如國標808,新能源國標協議等等。
- 安全靈活:支持設備級身份校驗和SSL加密,數據傳輸更安全。同時可支持第三方認證體係,更靈活。
- 服務穩定:消息隊列服務於整個阿裏巴巴集團已超過8年,經過阿裏巴巴交易核心鏈路反複打磨與曆年雙十一嚴苛考驗,是個低延遲、高並發、高可用、高可靠,可支撐萬億級數據洪峰的分布式消息中間件。
- 生態豐富:消息隊列擁抱開源,無技術綁定,無縫對接 kafka 生態以及各種流計算引擎與監控係統,實現大數據分析與運營。
3. 順序消息的典型應用場景
消息隊列(MQ)支持多種消息類型,包括:
- 普通消息:最大4M,消息越小,性能越高
- 事務消息:兩階段提交、解決分布式事務問題
- 定時消息:消息的延時或者定時投遞;最長40天
- 順序消息:全局順序、分區順序;嚴格保證消息的順序
下麵,將介紹消息隊列(MQ)新推出的順序消息的應用場景:
場景一:全局順序
在金融行業中,外匯/證券交易有一個順序性原則:1. 價格優先 2.時間優先,價格不同則價格優先,價格相同則時間優先;很明顯,在這種情況下,買賣交易雙方都是有嚴格順序性的。消息隊列的順序消息可以很好的處理此類場景。
比如外匯交易中,可以指定不同的Topic對應不同的外匯兌換幣種交易,同一類外匯兌換幣種交易時采用全局順序消息。
場景二:分區順序
在電商領域裏麵,每天都會有大量的交易發生,萬萬億條數據已無法通過單一實例數據庫進行處理,因此都會對數據庫進行拆分,根據特定的key進行分庫分表。為了提高數據更新與查詢的效率,盡可能的避免全庫全表掃描,買家庫會根據買家ID進行拆分,賣家庫則需要根據賣家ID進行拆分。那麼,由此就會產生多種不同維度的數據異構複製的場景。
異構數據複製的過程中,目標數據庫的數據必須嚴格按照源數據庫中數據的增、刪、改順序才能保證數據的正確性。消息隊列的分區順序就可以很好的解決此類場景。
全局順序為了嚴格保證順序,消息的發布與訂閱都必須是單並發,這會導致性能受到單並發的影響。而分區順序則則可以根據分區的數量進行並發處理,從而提高整體的性能。由於在訂單交易過程中,不同賣家的交易訂單是不會有順序關聯的,隻有在相同賣家、相同訂單的情況下才必須保證順序。因此,我們可以根據 seller_id 進行分區。
4. 消息隊列(MQ)現已提供 Kafka 企業級消息服務
消息隊列提供的 Kafka 企業級消息服務包括以下特點:
無縫遷移
業務係統基於現有的 Kafka 代碼與生態進行開發,無需任何改造,即可無縫遷移到阿裏雲消息隊列(MQ)提供的 Kafka 消息服務。
更安全
消息隊列(MQ)提供的 Kafka 消息服務利用 SASL 機製對用戶身份進行認證,並利用 SSL 對通道進行加密,提供更加安全的消息服務;
高可靠/高可用
消息持久化落盤到消息隊列,支持數多副本以及主備自動切換,可靠性達99.99999999%,服務可用性高達99.9%。
高性能
支持在萬級Topic,以及海量的消息堆積的情況下,也始終保持超高的性能。
統一運維
提供一整套包括資源申請、資源授權、消息堆積查詢、消息全鏈路軌跡、監控告警等運維服務,提升用戶的產品體驗。
消息互通
用戶可以通過 Kafka Client 發送消息,MQ Client 訂閱消息,反之亦然,真正做到消息隊列(MQ)與 Kafka 消息完全互通。
性能報告
最後更新:2017-05-15 15:31:14