1. 程式人生 > >阿裏雲ACE共創空間——MQ消息隊列產品測試

阿裏雲ACE共創空間——MQ消息隊列產品測試

服務 集群技術 中間件 數量 基於 cad 監測 計費 eba

一、產品背景
消息隊列是阿裏巴巴集團自主研發的專業消息中間件。 產品基於高可用分布式集群技術,提供消息訂閱和發布、消息軌跡查詢、定時(延時)消息、資源統計、監控報警等一系列消息雲服務,是企業級互聯網架構的核心產品。 MQ 目前提供 TCP 、MQTT 兩種協議層面的接入方式,支持 Java、C++ 以及 .NET 不同語言,方便不同編程語言開發的應用快速接入 MQ 消息雲服務。 用戶可以將應用部署在阿裏雲 ECS、企業自建雲,或者嵌入到移動端、物聯網設備中與 MQ 建立連接進行消息收發,同時本地開發者也可以通過公網接入 MQ 服務進行消息收發。
技術分享圖片
從官方文檔中看到MQ消息隊列的產品為一個提供消息服務的中間件,可以提供端到雲的消息服務,這個端的覆蓋面包括了移動端和IOT物聯網設備,並且為了支持IOT的需要除TCP協議外提供了MQTT來支持物聯網設備的消息服務,在雲上的支持不止包括阿裏雲,可以支持用戶將服務部署在企業自建雲上。作為PAAS層的服務支持用戶通過API的方式將消息隊列服務集成在自己的平臺上,目前在產品的結構上分成兩部分,移動端和物聯網的消息隊列服務單獨作為一個子產品MQ FOR IOT提供服務,這項服務和MQ主服務比主要的區別就是增加了對MQTT通訊協議的支持。
技術分享圖片


從編程語言來看,因為MQ FOR IOT是面向移動端和物聯網,所以需要支持的編程語言更多,包括ANDROID、IOS和PYTHON環境在消息隊列服務中都已經支持。
二、消息隊列MQ產品測試
技術分享圖片
開通服務進入控制臺後看到菜單將消息隊列服務清晰的分成兩部分,支持MQTT的微消息服務單獨列出子菜單,菜單選項按照功能分成三大部分,生產管理類子菜單,消息查詢追蹤類子菜單和監控報警類子菜單。
技術分享圖片
TOPIC是消息隊列服務中一個重要概念,用於區分消息的不同類型,比如在一次交易中,用戶對於商品所下的訂單和支付的訂單雖然針對的是同一件事情,但是對於消息隊列來說,這兩種消息的功能和類型有明顯的不同,可以用不同的TOPIC來區分,在TOPIC下還有個標簽TAG用於二級分類,如一個用戶對不同商品的購買訂單可以作為不同的TAG。針對消息的配置來講,需要定義消息的名字和消息的類型。在類型上普通消息、事務消息、定時消息、分區消息等都可以將不同類型的TOPIC根據類型區分。將TOPIC按什麽類型進行分類及歸入哪個分類需要用戶根據實際情況進行確定。
技術分享圖片

技術分享圖片
技術分享圖片
除了TOPIC外,對於一條消息,還有三個獨特的屬性可以為查詢提供方便,生產者的編號(PRODUCT ID)、消費者的編號(CONSUMER ID)和消息編號(MESSAGE ID),加上TOPIC的配置,可以準確定義海量消息中的每一條,方便查詢和監控等功能的支持。
技術分享圖片
消息路由是指的在不同地域間的消息同步,需要配置源地域和TOPIC、目標地域和TOPIC,從最新寫入源的消息開始進行同步。
技術分享圖片
技術分享圖片
資源報表分成兩個子項,生產者和消費者,可以對於消息的兩個源頭的情況進行查看,如果需要對於消息服務的可以在監控報警設置中進行配置,對於消息的報警項,有兩個重要指標堆積量和消息延遲,分別從數量和時間對於消息服務的異常情況進行報警,通過短信方式通知用戶。
三、微消息隊列MQ FOR IOT產品測試
技術分享圖片

從微消息隊列的按量付費的計費項目就可以看出物聯網在消息通訊上的幾個主要特征,即時連接數、訂閱消息數和消息收發量。萬物互聯後物聯網設備的消息數在這三個維度都會到達海量的程度,特別是即時連接這個特點和一般的MQ服務有很大不同,可以代表物聯網中消息傳遞的特征。
技術分享圖片
此外,微消息隊列服務對於消息的分類同一般MQ服務不同的是,將TOPIC分成父TOPIC和子TOPIC的方式而不是TOPIC和TAG的分類方式,子TOPIC從屬於父TOPIC,這個特點我想也是因為需要支持物聯網的關系,因為傳統下的消息都是針對應用比較多,但是物聯網情況下,消息的類型如設備的狀態、工業監測數據等會比一般情況多的多,並且消息服務的實時性要求更高,所以將TOPIC設置成父子從屬關系更有利於對海量不同類型的消息進行區分。


原文鏈接
本文為雲棲社區原創內容,未經允許不得轉載。

阿裏雲ACE共創空間——MQ消息隊列產品測試